MongoDB - avkortet Collections

Avkortet samlinger
er løst størrelse sirkulære samlinger som følger innsetting for å støtte høy ytelse for å opprette, lese og slette operasjoner. Ved sirkulær, betyr det at når den faste størrelsen allokert til samlingen er oppbrukt, vil det begynne å slette de eldste dokumentet i samlingen uten å gi noen eksplisitte kommandoer.

Avkortet samlinger begrense vedrørende dokumentene om oppdateringsresultater i økt dokumentstørrelsen. Siden avkortet samlinger lagre dokumenter i den rekkefølgen av disklagring, det sikrer at dokumentformatet ikke øker størrelsen fordeles på disk.Capped samlinger er best for lagring av logginformasjon, cache data eller andre høyt volum data.
< h2> Opprette avkortet Collection:

For å opprette en avkortet samling, vi bruker vanlig createCollection kommando, men med avkortet
alternativet som true Hotell og angi maksimal størrelse på samlingen i . bytes

> db.createCollection ("cappedLogCollection", {avkortet: true, størrelse: 10000})

I tillegg til samlingen størrelse, kan vi også begrense antall dokumenter i samlingen ved hjelp av max Anmeldelser parameter:

>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})

If du ønsker å sjekke om en samling er avkortet eller ikke, bruker du følgende isCapped
kommando:

> db.cappedLogCollection.isCapped ()

Hvis det er en eksisterende samling som du planlegger å konvertere til avkortet, kan du gjøre det med følgende kode:

> db.runCommand ({"convertToCapped": "innlegg", størrelse: 10000})

Dette code ville konvertere vår eksisterende samling innlegg anbefale til en avkortet samling

Querying avkortet Collection.

Som standard et funn spørring på en avkortet samlingen vil vise resultatene i innsetting rekkefølge. Men hvis du vil at dokumenter som skal hentes i omvendt rekkefølge, bruker du slags
kommandoen som vist i følgende kode:

> db.cappedLogCollection.find () slag (naturlig {$. : -1})

Det er få andre viktige punkter i forbindelse avkortet samlinger Verdt å vite:
Vi kan ikke slette dokumenter fra en avkortet samling

Det er ingen standard indekser stede i en avkortet samling , ikke engang på _id feltet

Når du setter et nytt dokument, MongoDB trenger ikke å faktisk se etter et sted å imøtekomme nye dokumentet på disken. Det kan blindt sette inn det nye dokumentet på halen av samlingen. Dette gjør innleggs operasjoner i avkortet samlinger veldig fort.

  • På samme måte, mens du leser dokumenter MongoDB har bare å gå tilbake dokumenter i samme rekkefølge som finnes på disk. Dette gjør leseoperasjon veldig fort.