Wie kann ich die Größe einer mongodb-geschützten Sammlung ändern, ohne Daten zu verlieren?
Wie kann ich die Größe eines mongodb capped collection ohne Daten zu verlieren?
Gibt es einen Befehl für das oder könnte jemand ein Skript angeben?
InformationsquelleAutor der Frage Luca Martinetti | 2010-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie grundsätzlich, um erstellen Sie eine neue capped-collection und kopieren Sie die docs. Diese kann getan werden, sehr einfach in javascript (shell), oder die Sprache Ihrer Wahl.
Hinweis: stellen Sie Einfach sicher, dass niemand die einfügen/Aktualisierung der alten Sammlung, wenn Sie wechseln. Wenn Sie ausführen, dass code in einer db.eval("....") es wird den server sperren, während es ausgeführt wird.
Gibt es eine feature-Anfrage für die Erhöhung der Größe einer vorhandenen Sammlung: http://jira.mongodb.org/browse/SERVER-1864
InformationsquelleAutor der Antwort Scott Hernandez
Dies ist, was ich tun, um die Größe capped collections:
Ich habe bereits eine Capped Collection mit dem Namen "log". So Lauf ich halt die "convertToCapped" Sie es erneut aus und geben Sie eine neue Größe. Ich habe nicht versucht es auf die Reduzierung der Größe der Sammlung. Das kann etwas sein, das Sie brauchen, um zu verwenden, Scott Hernandez ' s version auf. Aber dies funktioniert für die Erhöhung der Größe Ihrer capped collections, ohne dass Sie dabei Daten verlieren
oder Ihre Indizes.EDIT: @JMichal korrekt ist. Daten bleiben erhalten, aber die Indizes sind nicht und müssen neu erstellt werden.
InformationsquelleAutor der Antwort Quixrick