列表查询中至少有一个匹配项

时间:2011-10-07 10:48:26

标签: mongodb pymongo

我有一个要搜索的项目列表:
a = [1,2,3,4,5,6]
和mongo中的文件:
  doc1 = {a:[1,2]}
  doc2 = {a:[3]}
  doc3 = {a:[9,10]}
  doc4 = {a:[1,10]}

我需要查询至少有一个参数匹配的所有文档

doc1,doc2,doc4没问题,doc3不是

有可能吗?

1 个答案:

答案 0 :(得分:7)

在MongoDB shell中,您可以检索与

匹配的文档
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 ] }