这是我的Mongoose Schema:
var WarSchema = new Schema({
status: String,
attack: {
countryID: [{type: Schema.ObjectId, ref: 'Country'}],
players: [{
id: {type: Schema.ObjectId, ref: 'User'},
name:{type: String, default: ''},
role: String // INFO: FIGHTER, LEADER
}],
cityID: {type: Schema.ObjectId, ref: 'City'}
}
}
我正在尝试获取特定玩家所在的所有战争。我所拥有的是玩家的id,但它位于[object]的一侧,我无法使用$ in或类似的运算符。我无法组成{id,name,role}来查询数组,因为mongodb会自动在子文档中创建一个新的_id,这使得它永远不会匹配。