English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MongoDB feste Sammlung

Feste SammlungIst eine begrenzte, zirkuläre Sammlung mit festgelegter Größe, die die Reihenfolge der Eingabe befolgt, um eine hohe Leistung bei Erstellen, Lesen und Löschen zu unterstützen. Der Zirkular bedeutet, dass, wenn die festgelegte Größe der Sammlung aufgebraucht ist, sie mit dem Löschen der ältesten Dokumente in der Sammlung beginnt, ohne dass ein expliziter Befehl erforderlich ist.

Wenn die Aktualisierung die Größe des Dokuments erhöht, wird die Aktualisierung der Dokumente begrenzt. Da festgelegte Sammlungen die Dokumente in der Reihenfolge des Speicherplatzes auf dem Festplatten gespeichert werden, kann sichergestellt werden, dass die Größe der Dokumente nicht die zugewiesene Größe auf der Festplatte übersteigt. Festgelegte Sammlungen sind am besten geeignet für das Speichern von Logdateien, Cache-Daten oder anderen großen Datenmengen.

Erstellung einer festen Sammlung

Um eine begrenzte Sammlung zu erstellen, verwenden wir den Standardbefehl createCollection, aber setzen wircappedOption eingestellt wird,trueund die maximale Größe der Sammlung (in Bytes) angeben.

>db.createCollection("cappedLogCollection",{capped:true,size:10000})

Neben der Sammlungsgröße können wir auchmaxParameter-Beschränkung der Anzahl der Dokumente in der Sammlung-

>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000)

Um zu überprüfen, ob die Sammlung begrenzt ist, verwenden Sie bitte die folgendenisCappedBefehl-

>db.cappedLogCollection.isCapped()

Wenn geplant ist, die bestehende Sammlung in eine begrenzte Sammlung umzuwandeln, kann der folgende Code verwendet werden, um dies zu behandeln-

>db.runCommand({"convertToCapped":"posts",size:10000})

Dieser Code wird unsere bestehende Sammlung inpostsFür begrenzte Sammlungen.

Suchen in begrenzten Sammlungen

Standardmäßig werden Suchanfragen in begrenzten Sammlungen in der Reihenfolge der Einfügung angezeigt. Aber wenn Sie die Dokumente in umgekehrter Reihenfolge abrufen möchten, verwenden SiesortDie in den folgenden Codezeilen gezeigten Befehle-

>db.cappedLogCollection.find().sort({$natural:-1)

Über die begrenzten Sammlungen gibt es einige andere wichtige Punkte-

  • Wir können keine Dokumente aus der begrenzten Sammlung löschen.

  • Es gibt in der begrenzten Sammlung keine Standardindizes, auch nicht im _id-Feld.

  • Bei der Einfügung neuer Dokumente muss MongoDB nicht tatsächlich auf der Festplatte nach einem Platz für das neue Dokument suchen. Es kann das neue Dokument blind an das Ende der Sammlung einfügen. Dies macht die Einfügung in die Sammlung sehr schnell.

  • Ebenso wird MongoDB bei der Dokumentenauslesung die Dokumente in der gleichen Reihenfolge wie auf der Festplatte zurückgeben. Dies macht die Leseoperationen sehr schnell.