【发布时间】:2016-12-30 20:33:48
【问题描述】:
这是一个棘手的问题。我以为我可以使用 $in,但查询后,它不是我要找的地方。
这是我的架构
var gameSchema = new mongoose.Schema({
state: {
type: String,
default: "invited"
},
finished: {
type: Boolean,
default: false
},
players: {
type: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'users'
}],
required: true,
},
scores: [scoreSchema],
chat : [chatSchema]
});
我要发出的请求如下,我发送一个用户 ID,如果玩家数组包含此 ID,则返回数组中的另一个 ID(该数组的长度始终为 2)。
上下文是你可以查找你以前玩过的人。
这是我拥有的,但是“玩家”应该是一个数组,而不是我想要返回的游戏,所以
exports.getFriends = function(id, cb){
gameSchema.find({ id: { "$in": "players"} }, function(err, games){
if(err){
return cb(err, null);
}
else{
return cb(null, games);
}
});
};
【问题讨论】:
标签: arrays node.js mongodb mongoose mongoose-schema