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:
| ||||||
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.
| ||||||
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:{ |