动态查询mongodb javascript

时间:2016-03-23 20:44:23

标签: mongodb-query

我在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 :-)

1 个答案:

答案 0 :(得分:0)

由于我没有使用点符号,因此查找方法应该是准确的。 我可以使用How to convert JSON object structure to dot notation?

转换为点表示法

所以现在它起作用了: - )