MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB Намерете предадени стойности, които не съвпадат

Ако входните документи са:

{ _id: 1 },
{ _id: 2 },
{ _id: 5 },
{ _id: 10 }

А масивът, който трябва да съответства, е:

var INPUT_ARRAY = [ 1, 7, 15 ]

Следното агрегиране:

db.test.aggregate( [
{
  $match: {
    _id: {
        $in: INPUT_ARRAY
    }
  }
},
{ 
  $group: { 
      _id: null, 
      matches: { $push: "$_id" } 
  } 
},
{ 
  $project: {
      ids_not_exist: { $setDifference: [ INPUT_ARRAY, "$matches" ] },
      _id: 0
  } 
}
] )

Връща:

{ "ids_not_exist" : [ 7, 15 ] }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo агрегиране срещу Java за цикъл и производителност

  2. DeprecationWarning:Слушането на събития в класа Db е отхвърлено и ще бъде премахнато в следващата основна версия

  3. Как да четем колекция, която зависи от друга в Meteor

  4. Spring MongoRepository актуализира или поставя вместо вмъкване

  5. Ефективност при вмъкване в mongodb (pymongo)