假设我有如下的MongDB记录:
{ 名:"名称&#34 ;, 溪流:[ {user:" user0",name:" name0",locked:true}, {user:" user1",name:" name1",locked:true}, {user:" user2",name:" name2",locked:false} } }
我想查找在“流”字段中包含user0和name0的所有记录,但我并不关心锁定的字段
find({streams:{user:" user0",name:" name0"}})不起作用,因为未指定锁定字段。
谢谢你, 加里
答案 0 :(得分:2)
您正在寻找$elemMatch
运算符,它允许您从符合条件的数组中的子文档中选择字段:
db.collection.find({
"streams": { "$elemMatch": { "user": "user0", "name": "name0"} }
})
请花些时间浏览手册中的Query Operators。那里有很多有用的操作。