以下是MongoDB的在mongodb中爲文檔數組查詢的正確方法是什麼?
{
"name" : "Tom" ,
"occupation" : "employee" ,
"data" : [
{
"owns" : "Television" ,
"company" : "xyz"
},
{
"owns" : "Television" ,
"company" : "abc"
},
{
"owns" : "laptop" ,
"company" : "abc"
} ,
{
"owns" : "Television" ,
"company" : "xyz"
}
]
}
集合,當我查詢
db.exp.find({"data.owns" : "Television"})
MongoDB的函數返回一個擁有「擁有」的文件:在結果集「筆記本電腦」。
當我查詢
db.exp.find({"data.owns": "Television"},{_id: 0, data: {$elemMatch: {"owns": "Television"}}})
結果僅顯示從數據字段中的一個文件,其中「電視」的第一場比賽中找到
如何查詢來獲取所有3個文件,其中湯姆擁有電視排除便攜式文件。 預期結果
[
{
"owns" : "Television" ,
"company" : "xyz"
},
{
"owns" : "Television" ,
"company" : "abc"
},
{
"owns" : "Television" ,
"company" : "xyz"
}
]
注:我在這個例子中,在與原集合了50多個文件中提到只有4在數據字段的文件。 對不起我的英文不好:)。
,而不是在外部應用程序過濾的文件,不是我們能夠做到在數據庫本身這個任務? – 2015-03-31 06:22:24
您可以爲此使用聚合。對不起,我沒有提到答案。 – Rajeshwar 2015-03-31 08:04:12