2016-03-23 17 views
1

MongoDB'de resim koleksiyonum var. Belgeler böyledir: dinamik sorgulama mongodb javascript

{ 
    "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", 

} 

ben http isteği öylesine yüzden anahtar kelime & bölgeye göre tüm resim belgesi almak istiyorum almak olun. Ben dinamik bir şekilde bunu yapmak için izin ediyorum Ancak

db.pictograms.find({ "name.es.keyword" : "comida"}); 

:

Böyle bir sorgu ile diğer belge çıkardılar. Mongo Shell Kullanımı: Ben nokta gösterimi kullanılarak değilim gibi

> var query={} 
> var campo="imagen" 
> var value="test.jpg" 
> query[campo]=value 
test.jpg 
> query 
{ "imagen" : "test.jpg" } 
> db.pictograms.find(query) 
> //DATA OK :-) 

cevap

0

bulmak yöntemi kesin shoud: Sorgu basit ise

> var locale="es" 
> var keyword="comida" 
> var query = {"name": {[locale]: {"keyword":keyword}} } 
> query 
{ "name" : { "es" : { "keyword" : "comida" } } } 
> db.pictograms.find(query) 
>// NO DATA :-(

Ancak bu yöntemi nasıl çalışır. Ben yani artık :-)

çalışır How to convert JSON object structure to dot notation?

kullanarak notasyonu nokta için dönüştürebilirsiniz