sql >> Databáze >  >> NoSQL >> MongoDB

Odstraňte duplikát v MongoDB

Ano, dropDups je nadobro pryč. Ale určitě můžete dosáhnout svého cíle s trochou úsilí.

Nejprve musíte najít všechny duplicitní řádky a poté všechny kromě prvního odstranit.

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 vidíte doc.dups.shift() odstraní první _id z pole a poté odstraňte všechny dokumenty se zbývajícími _ids v poli dups.

výše uvedený skript odstraní všechny duplicitní dokumenty.



  1. Nainstalujte MongoDB Community Edition 4.0 na Linux

  2. Jak mohu použít operátor LIKE na mongoose?

  3. Nejlepší způsob, jak modelovat hlasovací systém v MongoDB

  4. Redis/Jedis - Smazat podle vzoru?