sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB - Skapa en samling

Du kan skapa en samling med createCollection() metod, eller i farten när du infogar ett dokument.

Samlingar är som behållare för relaterade dokument. De används vanligtvis för att gruppera dokument med liknande ämne. Du kan till exempel ha samlingsnamn som användare , pageviews , posts , comments , etc.

När vi skapade vår databas skapade vi en samling som heter artists . Den här samlingen kommer att innehålla dokument med artistinformation, som artisternas namn, album de har släppt, etc.

Två sätt att skapa en samling

Här är två sätt att skapa samlingar:

  • Du kan skapa en samling i farten när du infogar ett dokument (med hjälp av insert() metod.
  • Du kan också skapa en samling explicit med hjälp av createCollection() metod.

I farten

När du använder insert() metod för att infoga ett dokument, anger du samlingen som dokumentet ska infogas i. Om samlingen inte redan finns skapas den.

Det här är metoden som vi använde tidigare när vi skapade våra artists samling medan du infogar ett dokument.

Här är koden som vi använde:

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

I det här fallet, artists samlingen fanns inte tidigare så den skapades åt oss.

Med createCollection() Metod

Du kan också skapa samlingar med createCollection() metod. Detta gör att du kan skapa en samling utan att infoga ett dokument.

Här är ett exempel på hur du använder createCollection() metod:

db.createCollection("producers")

Med alternativ

Du kan också ange alternativ för samlingen genom att använda db.createCollection(name, options) syntax.

Här är ett exempel:

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

Fälten tillgängliga från och med MongoDB version 3.2 är följande.

Fält Typ Beskrivning
capped booleskt När satt till true , skapar en begränsad samling. En samling med tak är en samling med fast storlek som automatiskt skriver över sina äldsta poster när den når sin maximala storlek. Om du anger true måste du också ange en maximal storlek i size fält.
autoIndexId booleskt Ange false för att inaktivera automatiskt skapande av ett index på _id fält. Från och med MongoDB version 3.2 är detta fält föråldrat och det kommer att tas bort i version 3.4.
size nummer Maximal storlek i byte för en begränsad samling. Används endast med begränsade samlingar (det ignoreras i andra samlingar).
max nummer Maximalt antal dokument som tillåts i den begränsade samlingen. Observera att size fältet har företräde framför max fält. Om samlingen når sin storleksgräns innan dokumentgränsen har nåtts kommer MongoDB att ta bort dokument ändå.
usePowerOf2Sizes booleskt Endast tillgängligt i MMAPv1-lagringsmotorn. Detta fält har föråldrats sedan version 3.0.
noPadding booleskt Endast tillgängligt i MMAPv1-lagringsmotorn. Inaktiverar kraften för tilldelning av två storlekar för samlingen. Standardinställningen är false .
storageEngine dokument Endast tillgängligt i WiredTiger-lagringsmotorn. Tillåter konfiguration av lagringsmotorn per samling när en samling skapas. Syntaxen är följande:{ <storage-engine-name>: <options> }
validator dokument Låter dig ange valideringsregler eller uttryck för samlingen. Observera att validering endast tillämpas vid infogning och uppdatering av data. Därför valideras inte data som redan finns i databasen (förrän den har uppdaterats).
validationLevel sträng Låter dig specificera hur strikt eventuella valideringsregler ska tillämpas på befintliga dokument under en uppdatering. Möjliga värden:
off Ingen validering sker för infogningar eller uppdateringar.
strict Validering sker för infogningar och uppdateringar. detta är standardvärdet.
moderate Valideringsregler tillämpas endast på befintliga giltiga dokument, men inte till befintliga ogiltiga dokument.
validationAction sträng Anger om ett fel ska inträffa, eller bara en varning, när ogiltiga dokument infogas. Om ett fel uppstår, kommer de ogiltiga dokumenten fortfarande att infogas, men med en varning.
error Anger att ett fel uppstår när ett ogiltigt dokument skrivs och operationen misslyckas.
warning Anger att ogiltiga dokument fortfarande kan skrivas och att varningen kommer att loggas.
indexOptionDefaults dokument Låter dig ange en standardkonfiguration för index när du skapar en samling. Accepterar en storageEngine dokument med följande syntax:{ : }

  1. Ansluter till MongoDB-databaser

  2. MongoDB $tanh

  3. Hur ska jag implementera detta schema i MongoDB?

  4. MongoDB elemmatchar flera element i array