2012-10-05 1 views
0

Если мой сохраненный документ выглядит следующим образом:Как запросить MongoDB для согласования документов, в которых элемент находится в документе массива

doc = { 
    'Things' : [ 'one' , 'two' , 'three' ] 
    } 

Как я могу запросить документы, которые содержат one в Things?

Я знаю, что оператор $in запрашивает элемент документа против списка, но это своего рода обратное. Любая помощь была бы потрясающей. multikeys поддержка

ответ

2

Используйте MongoDB в:

MongoDB обеспечивает интересную «ключи» функцию, которая может автоматически индексировать массивы значений объекта.
[...]

db.articles.find({ tags: 'april' }) 
{"name" : "Warm Weather" , "author" : "Steve" , 
"tags" : ["weather","hot","record","april"] , 
"_id" : "497ce4051ca9ca6d3efca323"} 

В принципе, вам не придется беспокоиться о массиве-ности Things, MongoDB будет заботиться о том, что для вас; что-то подобное в оболочке MongoDB будет работать:

db.your_collection.find({ Things: 'one' }) 
Смежные вопросы