sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag ändra storlek på en mongodb-begränsad samling utan att förlora data?

Det här är vad jag gör för att ändra storlek på samlingar med tak:

db.runCommand({"convertToCapped": "log", size: 1000000000});

Jag har redan en täckt samling som heter "logg". Så jag kör bara "convertToCapped" på den igen och anger en ny storlek. Jag har inte provat det för att minska storleken på samlingen. Det kan vara något som du skulle behöva använda Scott Hernandez version på. Men det här fungerar för att öka storleken på dina begränsade samlingar utan att förlora någon data eller dina index .

EDIT: @JMichal har rätt. Data bevaras, men index är inte och kommer att behöva återskapas.



  1. MongoDB $tak

  2. Villkorlig Redis inställd/endast uppdatering med den senaste versionen?

  3. Hur lagrar Trello data i MongoDB? (Insamling per tavla?)

  4. Stöder Mongoose Mongodb `findAndModify`-metoden?