MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB – Erstellen Sie eine Sammlung

Sie können eine Sammlung mit createCollection() erstellen -Methode oder direkt beim Einfügen eines Dokuments.

Sammlungen sind wie Container für zusammengehörige Dokumente. Sie werden normalerweise verwendet, um Dokumente zu einem ähnlichen Thema zu gruppieren. Beispielsweise könnten Sie Sammlungsnamen wie users haben , pageviews , posts , comments usw.

Als wir unsere Datenbank erstellt haben, haben wir eine Sammlung namens Künstler erstellt . Diese Sammlung enthält Dokumente mit Künstlerdetails, wie z. B. die Namen der Künstler, von ihnen veröffentlichte Alben usw.

Zwei Wege zum Erstellen einer Sammlung

Es gibt zwei Möglichkeiten, Sammlungen zu erstellen:

  • Sie können beim Einfügen eines Dokuments (mit insert()) spontan eine Sammlung erstellen Methode.
  • Sie können eine Sammlung auch explizit erstellen, indem Sie createCollection() verwenden Methode.

On the Fly

Wenn Sie insert() verwenden Methode zum Einfügen eines Dokuments geben Sie die Sammlung an, in die das Dokument eingefügt wird. Wenn die Sammlung noch nicht existiert, wird sie erstellt.

Dies ist die Methode, die wir zuvor verwendet haben, als wir unsere artists erstellt haben Sammlung beim Einfügen eines Dokuments.

Hier ist der Code, den wir verwendet haben:

db.artists.insert({ artistname: "The Tea Party" })

In diesem Fall die artists Sammlung existierte zuvor nicht, also wurde sie für uns erstellt.

Verwendung von createCollection() Methode

Sie können Sammlungen auch mit createCollection() erstellen Methode. Auf diese Weise können Sie eine Sammlung erstellen, ohne ein Dokument einzufügen.

Hier ist ein Beispiel für die Verwendung von createCollection() Methode:

db.createCollection("producers")

Mit Optionen

Sie können auch Optionen für die Sammlung angeben, indem Sie db.createCollection(name, options) verwenden Syntax.

Hier ist ein Beispiel:

db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )

Die ab MongoDB-Version 3.2 verfügbaren Felder lauten wie folgt.

Feld Typ Beschreibung
capped boolesch Wenn auf true gesetzt , erstellt eine begrenzte Sammlung. Eine begrenzte Sammlung ist eine Sammlung mit fester Größe, die ihre ältesten Einträge automatisch überschreibt, wenn sie ihre maximale Größe erreicht. Wenn Sie true angeben , müssen Sie auch eine maximale Größe in size festlegen Feld.
autoIndexId boolesch Geben Sie false an um die automatische Erstellung eines Index auf der _id zu deaktivieren Feld. Ab MongoDB Version 3.2 ist dieses Feld veraltet und wird in Version 3.4 entfernt.
size Nummer Maximale Größe in Byte für eine begrenzte Sammlung. Wird nur mit begrenzten Sammlungen verwendet (wird in anderen Sammlungen ignoriert).
max Nummer Maximal zulässige Anzahl von Dokumenten in der begrenzten Sammlung. Beachten Sie, dass die size Feld hat Vorrang vor max Feld. Wenn die Sammlung ihre Größenbeschränkung erreicht, bevor die Dokumentenbeschränkung erreicht wurde, entfernt MongoDB Dokumente trotzdem.
usePowerOf2Sizes boolesch Nur in der MMAPv1-Speicher-Engine verfügbar. Dieses Feld ist seit Version 3.0 veraltet.
noPadding boolesch Nur in der MMAPv1-Speicher-Engine verfügbar. Deaktiviert die Potenz von 2 Größenzuweisungen für die Sammlung. Standardmäßig false .
storageEngine Dokument Nur in der WiredTiger-Speicher-Engine verfügbar. Ermöglicht die Konfiguration der Speicher-Engine pro Sammlung beim Erstellen einer Sammlung. Die Syntax lautet wie folgt:{ <storage-engine-name>: <options> }
validator Dokument Ermöglicht es Ihnen, Validierungsregeln oder -ausdrücke für die Sammlung anzugeben. Beachten Sie, dass die Validierung nur beim Einfügen und Aktualisieren von Daten angewendet wird. Daher werden Daten, die bereits in der Datenbank vorhanden sind, nicht validiert (bis sie aktualisiert werden).
validationLevel Zeichenfolge Ermöglicht es Ihnen festzulegen, wie streng alle Validierungsregeln während einer Aktualisierung auf vorhandene Dokumente angewendet werden. Mögliche Werte:
off Bei Einfügungen oder Aktualisierungen erfolgt keine Validierung.
strict Die Validierung erfolgt für Einfügungen und Aktualisierungen. dies ist der Standardwert.
moderate Validierungsregeln werden nur auf vorhandene gültige angewendet Dokumente, aber nicht zu bestehenden ungültig Dokumente.
validationAction Zeichenfolge Gibt an, ob ein Fehler oder nur eine Warnung auftreten soll, wenn ungültige Dokumente eingefügt werden. Bei einem Fehler werden die ungültigen Dokumente trotzdem eingefügt, jedoch mit einer Warnung.
error Gibt an, dass ein Fehler auftritt, wenn ein ungültiges Dokument geschrieben wird, und der Vorgang fehlschlägt.
warning Gibt an, dass ungültige Dokumente weiterhin geschrieben werden können und dass die Warnung protokolliert wird.
indexOptionDefaults Dokument Ermöglicht es Ihnen, beim Erstellen einer Sammlung eine Standardkonfiguration für Indizes anzugeben. Akzeptiert eine storageEngine Dokument mit der folgenden Syntax:{ : }