我在MongoDB中有一组图像。文件是这样的:
{
"image-file": "test.jpg",
"name": {
"es": [{ "keyword": "comida", "downloads": 0 },
{ "keyword": "cena", "downloads": 0 }
],
"en": [{ "keyword": "lunch", "downloads": 0 },
{ "keyword": "dinner", "downloads": 0 }
]
},
"status": "publish",
}
我发出http请求,所以我想通过关键字&获取所有图像文档区域设置。
我的另一个文档包含这样的查询:
db.pictograms.find({ "name.es.keyword" : "comida"});
然而,我能够以动态方式制作它。使用Mongo Shell:
> var locale="es"
> var keyword="comida"
> var query = {"name": {[locale]: {"keyword":keyword}} }
> query
{ "name" : { "es" : { "keyword" : "comida" } } }
> db.pictograms.find(query)
>// NO DATA :-(
但是,如果查询更简单,则此方法可以正常工作:
> var query={}
> var campo="imagen"
> var value="test.jpg"
> query[campo]=value
test.jpg
> query
{ "imagen" : "test.jpg" }
> db.pictograms.find(query)
> //DATA OK :-)
答案 0 :(得分:0)
由于我没有使用点符号,因此查找方法应该是准确的。 我可以使用How to convert JSON object structure to dot notation?
转换为点表示法所以现在它起作用了: - )