MongoDB选择所有值不在数组

时间:2016-10-25 00:05:59

标签: mongodb search

我有以下情况:

 { 
   id: 1,
   field_X: [a, b]
 },
 { 
   id: 2,
   field_X: [c, d]
 },
 { 
   id: 3,
   field_X: [d]
 },
 { 
   id: 4,
   field_X: [a]
 },
 { 
   id: 5,
   field_X: [a,b,c,f]
 }

我想找到包含此数组中任何元素的所有字段:     [a,b,c] 但没有任何其他元素;所以正确的结果将是:

 { 
   id: 1,
   field_X: [a, b]
 },
 { 
   id: 4,
   field_X: [a]
 }

我如何在MongoDB中执行此操作?

2 个答案:

答案 0 :(得分:3)

db.collection.find({ 'field_X': {'$in': [/[abc]/], '$nin': [/[^abc]/]} })

答案 1 :(得分:0)

db_name.collection_name.find(({'field_X': {'$in': ['a', 'b', 'c'], '$nin': ['d', 'f']} })