我對mongodb是一個新手,我的要求是在單個文檔的對象數組內過濾如何過濾mongodb中單個json文檔中的對象數組?
例如:下面是我的json文檔。我想在組合中查詢以找到所有具有值「abc manufacturer」的製造商。
我試過的查詢是 db.Product.find({"Combinations": {$elemMatch: {"Manufacturer":"abc manufacturer"}}})
。不幸的是,它不會將結果返回給abc製造商,而是全部。
我的結果應該與下面的截圖完全相似。因爲它在SQL服務器中,現在我想要在MongoDB中的相同的查詢。在論壇的一些專家拋出一些光。
{ "_id" : ObjectId("59e8c938ab3166800493273f"), "ProductId" : 26, "Combinations" : [ { "#Type" : "S", "Manufacturer" : "abc manufacturer", "Model Name" : "Squatting Urinal", "Size" : "475 x 365 x 105 mm", "Colour" : "White" }, { "#Type" : "S", "Manufacturer" : "abc manufacturer", "Model Name" : "Squatting", "Size" : "430 x 350 x 100 mm" }, { "#Type" : "S", "Manufacturer" : "def manufacturer", "Model Name" : "Squatting Urinal", "Size" : "440 x 355 x 102 mm", "Colour" : "White" }, { "#Type" : "S", "Manufacturer" : "xyz manufacturer", "Model Name" : "Squatting Urinal", "Size" : "440 x 355 x 102 mm", "Colour" : "Ivory" }, { "#Type" : "S", "Manufacturer" : "ghi manufacturer", "Model Name" : "Squatting Pan - 861" }, { "#Type" : "S", "Manufacturer" : "xyz manufacturer", "Model Name" : "Mateo", "Size" : "470 x 365 x 100 mm" }, { "#Type" : "S", "Manufacturer" : "xyz manufacturer", "Model Name" : "Squatting", "Size" : "340 x 435 x 100 mm", "Colour" : "White" } ] }