我想在 mongodb 中查询包含数组的文档,这样它的所有元素都是给定用户提供的数组的成员。换句话说,我需要选择其数组是给定数组子集的文档。例如,如果我有这个集合:
> db.foos.find()
{ "_id" : ObjectId("4fe3901d0add2727c3adc7ca"), "tags" : [ "a", "b", "c" ] }
{ "_id" : ObjectId("4fe390220add2727c3adc7cb"), "tags" : [ "a", "b" ] }
{ "_id" : ObjectId("4fe390250add2727c3adc7cc"), "tags" : [ "a" ] }
{ "_id" : ObjectId("4fe390250add2727c3adc7cd"), "tags" : [ "c" ] }
我的代码被赋予了数组["a", "b", "z"]
,我想要一个产生以下结果的查询:
> db.foos.find( THE_QUERY! )
{ "_id" : ObjectId("4fe390220add2727c3adc7cb"), "tags" : [ "a", "b" ] }
{ "_id" : ObjectId("4fe390250add2727c3adc7cc"), "tags" : [ "a" ] }
之所以选择这些文档,是因为["a", "b"]
和["a"]
都是["a", "b", "z"]
.