2012-03-29 2 views
3

Я пытаюсь запросить вложенные данные в MongoDB.MongoDB select by inested data

В идеале я хотел бы выполнить запрос, аналогичный:

SELECT FROM attributes.type1 WHERE value = true 

Я понимаю, что я могу использовать dot notation запрос по attributes.type1, но можно запросить глубже, чем это?

Спасибо!

Мои набор данных:

{ 
    "attributes": { 
     "type1": [ 
      { 
       "year": "2012", 
       "value": "true" 
      }, 
      { 
       "year": "1998", 
       "value": "false" 
      } 
     ], 
    } 
} 

ответ

12

Да, вы можете запросить по db.collection.find({"attributes.type1.year": 2012}) или, например, использовать сложные запросы, как: db.collection.find({"attributes.type1.year": {$lt: 2000}}).

Это вы имеете в виду?

+0

Perfect. Благодаря! – Matt