假设我有一个MongDB记录,如下所示:
{ 名称:"名称", 流:[ {用户:"用户0", 名称:"名称0", 锁定:真}, {用户:"用户 1", 名称:"名称 1", 锁定:真}, {用户:"用户 2", 名称:"名称 2", 锁定:假} }}
我想在流字段中查找所有具有user0和name0的记录,但我不关心锁定的字段
find({streams:{user:"user0", name:"name0"}}) 不起作用,因为未指定锁定字段。
谢谢加里
您正在寻找 $elemMatch
运算符,该运算符允许您从数组中的子文档中选择符合您条件的字段:
db.collection.find({
"streams": { "$elemMatch": { "user": "user0", "name": "name0"} }
})
花一些时间浏览手册中的查询运算符。那里有很多有用的操作。