recherche

Maison  >  Questions et réponses  >  le corps du texte

mongodb subset方式的查询

例如以下一个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以外的其它几个。
黄舟黄舟2764 Il y a quelques jours664

répondre à tous(1)je répondrai

  • 阿神

    阿神2017-04-22 09:01:11


    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]}}}})

    répondre
    0
  • Annulerrépondre