我的文檔集合的數量是這樣的:查詢包含在MongoDB中某些領域的數組元素
{
my_array : [
{
name : "...",
flag : 1 // optional
},
...
]
}
我如何可以查詢文檔只有一個它們的元素都包含標誌字段?
這將返回的文檔,其中my_array
長度正好是1:
db.col.find({ "my_array" : { $size : 1 } })
這將返回其中至少一個my_array
的對象的包含標誌字段文件:
db.col.find({ "my_array.flag" : { $exists : true } })
而這將查找標記爲大小爲1的數組的文檔:
db.col.find({ "my_array.flag" : { $size : 1 } })
我想以某種方式結合前兩個查詢,檢查是否有一些內部的場的存在,然後查詢過濾的數組的大小
爲什麼在示例文檔中「標記」整數字段?也許我在這裏錯過了一些東西。 – styvane
my_array是一個文檔數組,每個內部文檔可能包含或不包含帶有某個值的字段「flag」(這並不重要) – marmor