sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB - Opret en samling

Du kan oprette en samling ved hjælp af createCollection() metode, eller på farten, mens du indsætter et dokument.

Samlinger er som beholdere til relaterede dokumenter. De bruges typisk til at gruppere dokumenter om et lignende emne. For eksempel kan du have samlingsnavne såsom brugere , pageviews , posts , comments osv.

Da vi oprettede vores database, lavede vi en samling kaldet kunstnere . Denne samling vil indeholde dokumenter med kunstnerdetaljer, såsom kunstnernes navne, albums, de har udgivet osv.

To måder at oprette en samling på

Her er to måder at oprette samlinger på:

  • Du kan oprette en samling med det samme, når du indsætter et dokument (ved hjælp af insert() metode.
  • Du kan også oprette en samling eksplicit ved at bruge createCollection() metode.

On the Fly

Når du bruger insert() metode til at indsætte et dokument, angiver du den samling, som dokumentet skal indsættes i. Hvis samlingen ikke allerede eksisterer, oprettes den.

Dette er den metode, vi tidligere brugte, da vi skabte vores artists samling, mens du indsætter et dokument.

Her er koden, vi brugte:

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

I dette tilfælde er artists samling eksisterede ikke tidligere, så den blev oprettet til os.

Ved brug af createCollection() Metode

Du kan også oprette samlinger ved hjælp af createCollection() metode. Dette giver dig mulighed for at oprette en samling uden at indsætte et dokument.

Her er et eksempel på brug af createCollection() metode:

db.createCollection("producers")

Med indstillinger

Du kan også angive indstillinger for samlingen ved at bruge db.createCollection(name, options) syntaks.

Her er et eksempel:

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

Felterne tilgængelige fra MongoDB version 3.2 er som følger.

Felt Typ Beskrivelse
capped boolesk Når indstillet til true , opretter en begrænset samling. En begrænset samling er en samling med fast størrelse, der automatisk overskriver sine ældste poster, når den når sin maksimale størrelse. Hvis du angiver true , skal du også angive en maksimal størrelse i size felt.
autoIndexId boolesk Angiv false for at deaktivere den automatiske oprettelse af et indeks på _id Mark. Fra og med MongoDB version 3.2 er dette felt forældet, og det vil blive fjernet i version 3.4.
size nummer Maksimal størrelse i bytes for en begrænset samling. Bruges kun med begrænsede samlinger (det ignoreres i andre samlinger).
max nummer Maksimalt antal dokumenter tilladt i den begrænsede samling. Bemærk, at size feltet har forrang over max Mark. Hvis samlingen når sin størrelsesgrænse, før dokumentgrænsen er nået, vil MongoDB alligevel fjerne dokumenter.
usePowerOf2Sizes boolesk Kun tilgængelig i MMAPv1-lagringsmotoren. Dette felt er blevet forældet siden version 3.0.
noPadding boolesk Kun tilgængelig i MMAPv1-lagringsmotoren. Deaktiverer kraften ved tildeling af 2 størrelser til samlingen. Standard er false .
storageEngine dokument Kun tilgængelig i WiredTiger-lagringsmotoren. Tillader konfiguration af lagermotoren pr. samling, når der oprettes en samling. Syntaks er som følger:{ <storage-engine-name>: <options> }
validator dokument Giver dig mulighed for at angive valideringsregler eller udtryk for samlingen. Bemærk, at validering kun anvendes ved indsættelse og opdatering af data. Derfor bliver data, der allerede findes i databasen, ikke valideret (før de er opdateret).
validationLevel streng Giver dig mulighed for at specificere, hvor strengt eventuelle valideringsregler anvendes på eksisterende dokumenter under en opdatering. Mulige værdier:
off Der sker ingen validering for indsættelser eller opdateringer.
strict Validering finder sted for indsættelser og opdateringer. dette er standardværdien.
moderate Valideringsregler anvendes kun på eksisterende gyldige dokumenter, men ikke til eksisterende ugyldige dokumenter.
validationAction streng Specificerer, om der skal opstå en fejl, eller blot en advarsel, når ugyldige dokumenter indsættes. Hvis der opstår en fejl, vil de ugyldige dokumenter stadig blive indsat, men med en advarsel.
error Specificerer, at der opstår en fejl, når et ugyldigt dokument skrives, og handlingen mislykkes.
warning Specificerer, at ugyldige dokumenter stadig kan skrives, og at advarslen vil blive logget.
indexOptionDefaults dokument Giver dig mulighed for at angive en standardkonfiguration for indekser, når du opretter en samling. Accepterer en storageEngine dokument med følgende syntaks:{ : }

  1. Spring Session Data Redis - Få gyldige sessioner, nuværende bruger fra Redis Store

  2. Hadoop Kort/Reducer vs indbygget Kort/Reducer

  3. SQL NULLIF() Forklaret

  4. Gendan en MongoDB-database ved hjælp af mongorestore