我有看起來像這樣的物件:
[
{
"url": "a",
"nested_object_keys": [
{
"vendor": "terraform",
"tag": "some_tag"
},
{
"vendor": "terraform",
"tag": "some_other_tag"
}
]
},
{
"url": "c",
"nested_object_keys": [
{
"vendor": "terraform",
"tag": "some_tag"
}
]
},
{
"url": "b",
"nested_object_keys": [
{
"vendor": "terraform",
"tag": "some_tag"
},
{
"vendor": "terraform",
"tag": "some_other_tag"
}
]
}
]
我想查找嵌套物件鍵與{'tag': 'some_tag'}AND匹配的物件{'tag': 'some_other_tag'}。
我嘗試了幾種不同的方法(使用$elemMatch),唯一有效的是:
query = {
'$and': [
{
'nested_object_keys': {
'$elemMatch': {'tag': 'some_tag'}
}
},
{
'nested_object_keys': {
'$elemMatch': {'tag': 'some_other_tag'}
}
}
]
}
有沒有更緊湊的方法來做到這一點?
uj5u.com熱心網友回復:
您可以使用$all運算子:
db.collection.find({
"nested_object_keys.tag": { $all: ["some_tag", "some_other_tag"] }
})
作業示例
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/457733.html
上一篇:mongoDB時間戳聚合nodejsmongoose
下一篇:如何使用貓鼬模式保存字串陣列
