pou*_*def 4 mongodb mongodb-query
我有一个具有以下结构的文档:
[{
"items": [
{
"sent_to_lab": 123,
"received_from_lab": 456,
},
{
"sent_to_lab": 123,
},
]
}
... more orders ...
]
Run Code Online (Sandbox Code Playgroud)
我想获取至少有一个项目符合以下条件的所有订单:
'$and': [
{'items.sent_to_lab': {'$exists': True}},
{'items.received_from_lab': {'$exists': False}},
]
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下,我想返回上述项目,因为items数组中至少有一个元素符合我的标准.
我怎么能在mongo中这样做?
您需要使用$ elemMatch运算符:
db.collection.find({items:
{$elemMatch:{
sent_to_lab:{$exists:true},
received_from_lab:{$exists:false}}
})
Run Code Online (Sandbox Code Playgroud)
这是查询$ elemMatch - 如果你只想要找回与条件匹配的项目(而不是整个文档的整个文档),那么你可以类似地使用投影$ elemMatch运算符.
| 归档时间: |
|
| 查看次数: |
6016 次 |
| 最近记录: |