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

Как мога да изтрия дубликати в MongoDb?

MongoDB вероятно прави това, за да се защити. Ако dropDups в грешното поле можете да изпълните целия набор от данни и да заключите DB с операции за изтриване (които са „толкова скъпи“, колкото записите).

Така че първият въпрос е защо създавате уникален индекс на id поле?

MongoDB създава _id по подразбиране поле, което автоматично е уникално и индексиран. По подразбиране MongoDB попълва _id с ObjectId , но можете да замените това с каквато стойност желаете. Така че, ако имате готов набор от ID стойности, можете да ги използвате .

Ако не можете да импортирате повторно стойностите, тогава ги копирайте в нова колекция, докато променяте id в _id . След това можете да премахнете старата колекция и да преименувате новата. (обърнете внимание, че ще получите куп „дублирани ключови грешки“, уверете се, че вашият код ги улавя и игнорира )



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Настройка на MongoDB 2.6 Index, заявка с помощта на $or, $in, с ограничение и сортиране

  2. Грешка:свържете ETIMEDOUT при изтриване

  3. WiredTiger и актуализации на място

  4. Докер контейнер mongod грешка при стартиране чрез ssh

  5. преобразувайте времевия печат на UTC във всеки друг часови печат на зона