我想要进行一个查询,它只返回本文档中数组"ingredienser“中的字段"typ”、"tsk“、"dl”和"gram“:
我似乎不知道该使用什么语法?带有某种投影过滤器的$elemMatch?任何帮助都非常感谢!
{
"bloggtyp": "recept",
"rubrik": "MOROTSSOPPA",
"gillar": 17,
"kommentarer": 3,
"kommentar": [{
"kommentartid": "2016-12-12",
"rubrik": "hej",
"textkommentar": "jättefinblogg",
"nickname": "liam"
},{
"kommentartid": "2016-12-13",
"rubrik": "hej",
"textkommentar": "jättefinblogg",
"nickname": "keeo"
},{
"kommentartid": "2016-12-11",
"rubrik": "hej",
"textkommentar": "jättefinblogg",
"nickname": "madad"
}],
"timestamp": "2012 - 04 - 23",
"taggar": ["morötter", "soppa", "förrätter"],
"tid": {
"tillagning": 5,
"på spisen": 30
},
"img": "/bilder/ < filnamn.filextension >",
"instruktioner": "Gör sa här: Skala morötterna – med din kropp! Koka i buljong.Salta och peppra efter tycke och smak.",
"ingredienser": [{
"typ": "Morötter",
"gram": 500,
"kcal/100g": 41
}, {
"typ": "buljong",
"dl": 10,
"kcal/100g": 128
}, {
"typ": "salt",
"tsk": 1,
"kcal/100g": 0
}, {
"typ": "peppar",
"tsk": 1,
"kcal/100g": 0
}]
}发布于 2017-01-01 17:26:33
如果要投影嵌入文档数组中的所有项,请使用下面的查询。
无查询过滤器
db.collection.find( {}, { "ingredienser.typ": 1 ....comma separated rest of fields} )使用查询筛选器(多个条件)
db.collection.find( {ingredienser: { $elemMatch: { typ: "buljong"....comma separated rest of fields } }}, { "ingredienser.typ": 1 .... rest of fields} )使用查询筛选器(单一条件)
db.collection.find( {ingredienser.typ": "buljong"}, { "ingredienser.typ": 1 .... rest of fields} )https://stackoverflow.com/questions/41417288
复制相似问题