MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Xóa bản sao trong MongoDB

Có, dropDups đã biến mất. Nhưng bạn chắc chắn có thể đạt được mục tiêu của mình với một chút nỗ lực.

Trước tiên, bạn cần tìm tất cả các hàng trùng lặp và sau đó xóa tất cả ngoại trừ trước.

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

Như bạn thấy doc.dups.shift() sẽ xóa _id đầu tiên khỏi mảng và sau đó xóa tất cả tài liệu có _id còn lại trong mảng dups.

script ở trên sẽ loại bỏ tất cả các tài liệu trùng lặp.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB không tạo cơ sở dữ liệu trong shell

  2. Chế nhạo cơ sở dữ liệu trong node.js?

  3. Node.js, Mongo tìm và trả về dữ liệu

  4. Làm cách nào để tạo một kết xuất MongoDB cho cơ sở dữ liệu của tôi?

  5. Các phương pháp hay nhất để sao lưu cơ sở dữ liệu