我有一个Meteor集合,想要获得第一个项目的ID。查询有一个限制1子句,我只想要第一个项目的id(如果有的话)。我无法弄清楚如何编码。
这是我的查询。
var myGames = Games.find(
{
game_minutes: {$gt: MinutesSinceMidnightNow},
court_id: court,
game_date: {$gt: lastMidnight}
},
{
sort: { "game_minutes": 1},
limit: 1
});
然后,如果我迭代结果,我的应用程序将进入比赛。
myGames.forEach(function (game) {
gameId = game._id;
console.log('gameId: ' + gameId );
});
我知道查询正在运行并且当前正在返回记录,但我无法弄清楚如何访问记录。
答案 0 :(得分:7)
find()返回一个游标。而不是使用forEach
使用fetch
来获取从游标到数组的所有数据。所以在你的情况下:
var id = myGames.fetch()[0]._id;
(当您确定数据存在时。否则检查数组是否为空)