rsm*_*ets 0 arrays nested find mongodb mongodb-query
不确定如何查询具有以下结构的 mongo db 对象的匹配的 directory_object_ids 。
"_id" : ObjectId("5702e52e51c2e40f55b3fd43"),
"_revision" : 4,
"enabled" : true,
"selector" : {
"directory_object_ids" : [
ObjectId("56c4bfb793e0be0eb6297369"),
ObjectId("56c4bfc293e0be0eb6297391"),
ObjectId("56cdfc65f2325d0e6346b7fe")
]
}
Run Code Online (Sandbox Code Playgroud)
我试过了
db.policies.find({"selector":{"directory_object_ids":{$elemMatch: {$eq:ObjectId("56cdfc65f2325d0e6346b7fe")}}}}).pretty()
Run Code Online (Sandbox Code Playgroud)
和
db.policies.find({"selector":{"directory_object_ids": {$eq:ObjectId("56cdfc65f2325d0e6346b7fe")}}}).pretty()
Run Code Online (Sandbox Code Playgroud)
没有运气。
先感谢您。
直接调用查询中的嵌套对象find:
db.policies.find({"selector.directory_object_ids": ObjectId("56cdfc65f2325d0e6346b7fe")}).pretty()
Run Code Online (Sandbox Code Playgroud)
如果您想请求与所有指定项目中至少一项匹配的记录,请使用$in:
db.policies.find({
"selector.directory_object_ids": {
$in: [ObjectId("56c4bfc293e0be0eb6297391"), ObjectId("56cdfc65f2325d0e6346b7fe")]
}
}).pretty()
Run Code Online (Sandbox Code Playgroud)
如果您想请求与所有指定项目匹配的记录,请使用$all:
db.policies.find({
"selector.directory_object_ids": {
$all: [ObjectId("56c4bfc293e0be0eb6297391"), ObjectId("56cdfc65f2325d0e6346b7fe")]
}
}).pretty()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |