2
的記錄數我想轉換爲使用貓鼬聚合方法有這樣一句話:
「對於每一個球員給OID,選擇已經玩過的最遊戲」。 這裏是我的遊戲模式:
gameSchema = new mongoose.Schema({
game_name:{type:String},
game_id:{type:String},
oid:{type: String},
number_plays:{type:Number,default:0},
})
Game = mongoose.model('Game', gameSchema);
這裏是我使用的代碼:
var allids = ['xxxxx','yyyy'];
Game.aggregate([
{$match: {'oid': {$in:allids}}},
{$sort: {'number_plays': -1}},
{$group: {
_id: '$oid',
plays:{$push:"$number_plays"},
instructions:{$push:"$game_instructions"}
}}
], function(err,list){
console.log(list);
res.end();
});
上面的代碼返回如下:
[ { _id: 'yyyy', plays: [ 10,4,5 ] },
{ _id: 'xxxxx',
plays: [ 28, 14, 10, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } ]
的問題是,它返回所有遊戲,而不是主要玩過的遊戲。所以我的問題是:是否可以限制填充在$組中的字段?