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.