如何在MongoDB中搜索时忽略某个字段

时间:2014-04-01 06:06:33

标签: mongodb mongodb-query

假设我有如下的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"}})不起作用,因为未指定锁定字段。

谢谢你, 加里

1 个答案:

答案 0 :(得分:2)

您正在寻找$elemMatch运算符,它允许您从符合条件的数组中的子文档中选择字段:

db.collection.find({ 
    "streams": { "$elemMatch": { "user": "user0", "name": "name0"} }
})

请花些时间浏览手册中的Query Operators。那里有很多有用的操作。