MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Usuń duplikat w MongoDB

Tak, dropDups zniknął na dobre. Ale zdecydowanie możesz osiągnąć swój cel przy odrobinie wysiłku.

Musisz najpierw znaleźć wszystkie zduplikowane wiersze, a następnie usunąć wszystkie z wyjątkiem pierwszego.

db.dups.aggregate([{$group:{_id:"$contact_id", dups:{$push:"$_id"}, count: {$sum: 1}}},
{$match:{count: {$gt: 1}}}
]).forEach(function(doc){
  doc.dups.shift();
  db.dups.remove({_id : {$in: doc.dups}});
});

Jak widzisz doc.dups.shift() usunie pierwszy _id z tablicy, a następnie usuń wszystkie dokumenty z pozostałymi _ids w tablicy dups.

powyższy skrypt usunie wszystkie zduplikowane dokumenty.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Transakcja Mongodb v4.0, MongoError:Numery transakcji są dozwolone tylko na członku zestawu replik lub mongos

  2. O MongoDB, dlaczego go używamy? Terminologia i implementacja MongoDB

  3. kopia mongo z jednej kolekcji do drugiej (na tej samej bazie danych)

  4. Jak tworzyć indeksy w MongoDB przez .NET

  5. Korzystanie z wielu baz danych Mongodb z Meteor.js