хотя бы одно совпадение в запросе списка - PullRequest
3 голосов
/ 07 октября 2011

У меня есть список предметов для поиска:
a = [1,2,3,4,5,6]и документы в монго:doc1 = {a: [1,2]}doc2 = {a: [3]}doc3 = {a: [9,10]}doc4 = {a: [1,10]}

Мне нужно запросить все документы, где хотя бы один параметр соответствует

doc1, doc2, doc4 в порядке, а doc3 не

Возможно ли это?

1 Ответ

7 голосов
/ 07 октября 2011

В оболочке MongoDB вы можете получить документы, которые соответствуют

db.doc.find({"a":{"$in":[1,2,3,4,5,6]}})
{ "_id" : ObjectId("4e8eda300b92a26e01f4bc2f"), "a" : [ 1, 2 ] }
{ "_id" : ObjectId("4e8eda330b92a26e01f4bc30"), "a" : [ 3 ] }
{ "_id" : ObjectId("4e8eda3c0b92a26e01f4bc32"), "a" : [ 1, 10 ] }

, когда ваша коллекция выглядит так:

db.doc.find()
{ "_id" : ObjectId("4e8eda300b92a26e01f4bc2f"), "a" : [ 1, 2 ] }
{ "_id" : ObjectId("4e8eda330b92a26e01f4bc30"), "a" : [ 3 ] }
{ "_id" : ObjectId("4e8eda370b92a26e01f4bc31"), "a" : [ 9, 10 ] }
{ "_id" : ObjectId("4e8eda3c0b92a26e01f4bc32"), "a" : [ 1, 10 ] }
...