English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Um eine begrenzte Sammlung zu erstellen, verwenden wir den Standardbefehl createCollection, aber setzen wircapped
Option eingestellt wird,true
und die maximale Größe der Sammlung (in Bytes) angeben.
>db.createCollection("cappedLogCollection",{capped:true,size:10000})
Neben der Sammlungsgröße können wir auchmax
Parameter-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 folgendenisCapped
Befehl-
>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 inposts
Für begrenzte 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 Siesort
Die 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.