0

そのため、MEAN 環境に慣れるためのサイド プロジェクトに取り組んでいましたが、ここ数日間、私を阻んでいる壁にぶつかりました。

私の問題は次のとおりです。MongoDB のカウントを取得すると、問題なくページに表示されます。しかし、DB のデータを 2 列のテーブルに表示したい場合は、できません。Mongo は私のデータベースを巨大な JSON ドキュメントとして返します。mongo collection 内の各ドキュメントnameの とforを含むテーブルを作成できるようにしたいと考えています。totalheroes

誰でも私を助けることができますか?私は何日も Web を精査してきましたが、少なくともこのテストを乗り越えたいと思っています。

ここに私のファイルがあります:

-- SERVER.JS からのスニペット --

//Connect to MongoDB
mongoose.connect('mongodb://localhost/dota2');
var db =  mongoose.connection;
//mongoose.connect('mongodb://****:*****@ds033469.mongolab.com:33469/dota2');
db.on('error', console.error.bind(console, 'connection error...'));
db.once('open', function callback(){
    console.log("Connection to Mongo database opened");
});

var Schema = mongoose.Schema;
    var heroSchema = new Schema({
        name: String,
        initiator: Number,
        disabler: Number,
        pusher: Number,
        jungler: Number,
        nuker: Number,
        slug: String,
        lanesupport: Number,
        escape: Number,
        carry: Number,
        total: Number,
        support: Number,
        melee: Number
    }, 
    {collection: 'heroes'});

//Pulling out a piece of data and putting it into an object for Angular
var heroModel = mongoose.model('name:', heroSchema, 'heroes');


var heroData;
heroModel.find('name',{'name':'', _id:0}, function(err, herodatagrab) {
    if(err);
    heroData = herodatagrab;
});

//Show that Dota2/heroes has documents within.
var heronumber;
heroModel.count({ }, function (err, heroNumObj) {
  if (err);
  heronumber = heroNumObj;
});


//Catch-Partials
app.get('/partials/:partialPath', function(req, res) {
    res.render('partials/' + req.params.partialPath);
});


//Catch-All route
app.get('*', function(req, res){
    res.render('index', {
        heroData: heroData,
        heronumber: heronumber
    });
});

-- INDEX.ジェイド --

extends ../includes/layout
title = {title}
block main-content
    section.content
        div(ng-view)
    h3=heronumber 
        |  heroes in the database

block hero
    section.content
        div(ng-view)
    h3=heroData

--ページに表示される結果--

データベース内の 102 人のヒーロー

{ name: 'Abaddon' },{ name: 'Alchemist' },{ name: 'Ancient Apparition' },{ name: 'Anti-mage' },{ name: 'Axe' },{ name: 'Bane' } ,{ name: 'Batrider' },{ name: 'Beastmaster' },{ name: 'Bloodseeker' },{ name: 'Bounty Hunter' },{ name: 'Brewmaster' },{ name: 'Bristleback' }, { name: 'Broodmother' },{ name: 'Centaur Warrunner' },{ name: 'Chaos Knight' },{ name: 'Chen' },{ name: 'Clinkz' },{ name: 'Clockwerk' }, { name: 'Crystal Maiden' },{ name: 'Dark Seer' },{ name: 'Dazzle' },{ name: 'Death Prophet' },{ name: 'Disruptor' },{ name: 'Doom' } ,{ name: 'ドラゴン ナイト' },{ name: 'Drow Ranger' },{ name: 'Earthshaker' },{ name:'Elder Titan' },{ name: 'Enchantress' },{ name: 'Enigma' },{ name: 'Faceless Void' },{ name: 'Gyrocopter' },{ name: 'Huskar' },{ name: 'Invoker' },{ name: 'IO' },{ name: 'Jakiro' },{ name: 'Juggernaut' },{ name: 'Keeper of the Light' },{ name: 'Kunkka' },{ name : 'Leshrac' },{ name: 'Lich' },{ name: 'Lifestealer' },{ name: 'Lina' },{ name: 'Lion' },{ name: 'Lone Druid' },{ name: 'Luna' },{ name: 'Lycanthrope' },{ name: 'Magnus' },{ name: 'Medusa' },{ name: 'Meepo' },{ name: 'Mirana' },{ name: 'Morphling ' },{ name: 'Naga Siren' },{ name: 'Nature\'s Prophet' },{ name: 'Necrolyte' },{ name: 'Night Stalker' },{ name: 'Nyx Assassin' },{ name: 'Ogre Magi' },{ name: 'Omniknight' },{ name: 'Outworld Devourer' },{ name: 'Phantom Assassin' },{ name: 'Phantom Lancer' },{ name: 'Puck' },{ name: 'Pudge' },{ name: 'Pugna' },{ name: 'Queen of Pain' },{ name: 'Razor' }, { name: 'Riki' },{ name: 'Rubick' },{ name: 'Sand King' },{ name: 'Shadow Demon' },{ name: 'Shadow Fiend' },{ name: 'Shadow Shaman' },{ name: 'Silencer' },{ name: 'Skeleton King' },{ name: 'Skywrath Mage' },{ name: 'Slardar' },{ name: 'Slark' },{ name: 'Sniper' },{ name: 'スペクター' },{ name: 'スピリットブレイカー' },{ name: 'ストームスピリット' },{ name: 'スヴェン'},{ name: 'Templar Assassin' },{ name: 'Tidehunter' },{ name: 'Timbersaw' },{ name: 'Tinker' },{ name: 'Tiny' },{ name: 'Treant Protector' },{ name: 'Troll Warlord' },{ name: 'Tusk' },{ name: 'Undying' },{ name: 'Ursa' },{ name: 'Vengeful Spirit' },{ name: 'Venomancer' },{ name: 'Viper' },{ name: 'Visage' },{ name: 'Warlock' },{ name: 'Weaver' },{ name: 'Windrunner' },{ name: 'Witch Doctor' } ,{ 名前: 'ゼウス' }{ name: 'Ursa' },{ name: 'Vengeful Spirit' },{ name: 'Venomancer' },{ name: 'Viper' },{ name: 'Visage' },{ name: 'Warlock' },{ name: 'Weaver' },{ name: 'Windrunner' },{ name: 'Witch Doctor' },{ name: 'Zeus' }{ name: 'Ursa' },{ name: 'Vengeful Spirit' },{ name: 'Venomancer' },{ name: 'Viper' },{ name: 'Visage' },{ name: 'Warlock' },{ name: 'Weaver' },{ name: 'Windrunner' },{ name: 'Witch Doctor' },{ name: 'Zeus' }

あなたが与えることができるどんな助けにも感謝します. これは本当にイライラしています!

4

2 に答える 2

0

Angular を使用する場合は、データ ソースに$httpまたは$resourceを使用し、データ出力用の API エンドポイントを設定できます。

結果を jade ファイルで表示する場合は、 を使用しeach ... in ...てデータを表示できます。

table
  tr
    th Name
    th Total
  each hero in heros
    tr
      td= hero.name
      td= hero.total
于 2016-08-09T08:46:13.590 に答える
0

heroDataオブジェクトのテキスト表現をレンダリングしているだけです。

少なくとも、script タグheroDataに配置し、angular の式を使用して出力する必要があります。そんな感じ:

script.
    var heroes = heroData;
    // put heroes into $scope 

div {{heroes}}
于 2014-02-26T20:40:09.927 に答える