【发布时间】:2011-12-02 22:14:59
【问题描述】:
我有一个要搜索的项目列表:
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 不行
有可能吗?
【问题讨论】:
我有一个要搜索的项目列表:
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 不行
有可能吗?
【问题讨论】:
在 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 ] }
【讨论】: