sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag ta bort dubbletter i MongoDb?

MongoDB gör sannolikt detta för att försvara sig. Om du dropDups på fel fält kan du spola hela datamängden och låsa DB:n med raderingsoperationer (som är "lika dyra" som man skriver).

Så den första frågan är varför du skapar ett unikt index på id fältet?

MongoDB skapar en standard _id fält som automatiskt är unikt och indexeras. Som standard fyller MongoDB i _id med ett ObjectId , dock kan du åsidosätta detta med vilket värde du vill. Så om du har en färdig uppsättning ID-värden kan du använda dem .

Om du inte kan återimportera värdena, kopiera dem till en ny samling samtidigt som du ändrar id till _id . Du kan sedan släppa den gamla samlingen och byta namn på den nya. (observera att du kommer att få ett gäng "duplicerade nyckelfel", se till att din kod fångar och ignorerar dem )



  1. MongoDB delar upp frågan i golang

  2. MEANJS:413 (begäran är för stor)

  3. MongoDB Schema Design - Många små dokument eller färre stora dokument?

  4. Mongodb och sorteringsundermatris