1

2つの行を取得するjavascriptの次のコードがあります。

 var raceCursor = RacesCollection.find({eventId: "e1"});
    var race;
    while(raceCursor.hasNext()){
    race = raceCursor.next();                   
    console.log(race.raceName);
    }

何も問題はないようですが、次のように表示されます。

Uncaught TypeError: Object [object Object] has no method 'hasNext'javascriptコンソールで。

私がここで欠けているものは何ですか?

MongoDBメソッドをコレクションで使用するには、javascriptで特別なインポートが必要ですか?

コレクションは次のとおりです。

RacesCollection  = new Meteor.Collection("RacesCollection");
RacesCollection.insert({raceId:"r1", eventId:"e1", raceName:"Moto race 1", status:"statusDetail"});
RacesCollection.insert({raceId:"r2", eventId:"e1", raceName:"Moto race 2", status:"statusDetail"});

任意の推奨事項が適用されます。ありがとう..

4

1 に答える 1

8

Meteorのドキュメントによると、カーソルを反復する適切な方法はcursor.forEach()です。hasNext()また、カーソルにはまたはnext()メソッドがありません。

したがって、あなたの場合は次のようになります。

var raceCursor = RacesCollection.find({eventId: "e1"});

raceCursor.forEach(function(race) {
    console.log(race.raceName);    
});
于 2012-10-19T08:04:10.923 に答える