sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur tar man tillbaka borttaget utrymme utan `db.repairDatabase()`?

Uppdatera :Med WiredTiger, compact gör ledigt utrymme.

Det ursprungliga svaret på denna fråga är här:Minska MongoDB-databasfilstorleken

Det finns verkligen ingenting utanför repair som kommer att återta utrymmet. Den compact bör tillåta dig att gå mycket längre på det befintliga utrymmet. Annars måste du migrera till en större enhet.

Ett sätt att göra detta är att använda en offline-sekundär från din Replica Set. Detta bör ge dig ett helt underhållsfönster att migrera, reparera, flytta tillbaka och ta upp igen.

Om du inte kör ett replikset är det dags att titta på att göra just det.



  1. Det går inte att ansluta till MongoDB (MongoLabs) via C#-klienten

  2. Go JSON-avkodning är mycket långsam. Vad skulle vara ett bättre sätt att göra det?

  3. Unicode i python

  4. Hur växlar man ett booleskt fält i ett dokument med atomär drift?