我有一个类似下面的RoomSchema的猫鼬模式
{
.....
venue_details : {type: Schema.ObjectId, ref: 'VenueDetail'}
.....
}
当我在mongodb系统控制台中搜索我正在使用的一个ObjectId时,它会为下面的查询提供正确的结果。
db.rooms.find({venue_details: "576a6aa52edadbba50ff0944"})
但我正在寻找猫鼬内部。我得到一个空数组。
Room.find({venue_details: new ObjectId("576a69c32edadbba50ff093e")},function(err, docs){
if(err){
console.log(err);
}else{
console.log(docs);}
})
我尝试过ObjectId = mongoose.Types.ObjectId
,ObjectId = mongoose.Schema.ObjectId
以及ObjectId = mongoose.Schema.Types.ObjectId
甚至尝试将String放在new ObjectId("576a69c32edadbba50ff093e")
的位置,就像"576a69c32edadbba50ff093e"
一样。即使它不起作用。
我正在使用mongoose V 4.4.1和MongoDB V 3.2.7