ALL $我有一個這樣的數組:貓鼬數組元素的數組
{
"_id" : ObjectId("581b7d650949a5204e0a6e9b"),
"types" : [
{
"type" : ObjectId("581b7c645057c4602f48627f"),
"quantity" : 4,
"_id" : ObjectId("581b7d650949a5204e0a6e9e")
},
{
"type" : ObjectId("581ca0e75b1e3058521a6d8c"),
"quantity" : 4,
"_id" : ObjectId("581b7d650949a5204e0a6e9e")
}
],
"__v" : 0
},
{
"_id" : ObjectId("581b7d650949a5204e0a6e9c"),
"types" : [
{
"type" : ObjectId("581b7c645057c4602f48627f"),
"quantity" : 4,
"_id" : ObjectId("581b7d650949a5204e0a6e9e")
}
],
"__v" : 0
}
我想創建一個查詢,將返回我elementswhere類型的陣列中的所有匹配數組$。
例如:
query([ObjectId("581b7c645057c4602f48627f"), ObjectId("581ca0e75b1e3058521a6d8c")])
應該返回元件1和2
query([ObjectId("581b7c645057c4602f48627f")])
應該返回元件2
query([ObjectId("581ca0e75b1e3058521a6d8c")])
應返回任何
我試圖
db.getCollection('elements').find({'types.type': { $in: [ObjectId("581ca0e75b1e3058521a6d8c")]}})
但是,如果只有一個類型的匹配
why query [[ObjectId(「581ca0e75b1e3058521a6d8c」)])should not nothing nothing? –
因爲沒有元素只有ObjectId類型(「581ca0e75b1e3058521a6d8c」) – Leamas