mongodb subset方式的查询
黄舟
黄舟 2017-04-22 08:59:11
0
1
658

例如以下一个collention:

  1. { test: [1,2,3] }
  2. { test: [1,3] }
  3. { test: [2] }
  4. { test: [3,4] }
    如何实现查找test数组是另一个数组 [1,2,3]子集的结果?
    类似于$all查询,但与$all相反。
    db.coll.find({ test: {$subset: [1,2,3] }})得到的结果应该是除了4以外的其它几个。
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(1)
阿神

db.test.insert({test:[1,2,3]}); db.test.insert({test:[1,2]}); db.test.insert({test:[1]}); db.test.insert({test:[1,2,4]}); db.test.insert({test:[1,2,3,4]}); db.test.insert({test:[4]}); //这一句返回有元素不在集合[1,2,3]里的doc db.test.find({test:{$elemMatch:{$nin:[1,2,3]}}}) //这一句和上面的相反,返回所有元素都在集合[1,2,3]里的doc db.test.find({test:{$not:{$elemMatch:{$nin:[1,2,3]}}}})

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template