MongoDB Capped Collection – Create, Check, & Uncapping the Capped

Spero, ti è piaciuto il nostro ultimo tutorial di MongoDB Sequenza di incremento automatico. Ora, saremo alla ricerca di MongoDB capped collection. Si tratta di una raccolta fissa, che supporta operazioni ad alto throughput. Sulla base di un ordine di inserimento, possiamo inserire e recuperare un documento. Inoltre, impareremo come creare, convertire, controllare e interrogare una raccolta limitata in MongoDB.

Finalmente, vedremo quali sono i pro ei contro con le applicazioni di MongoDB Capped Collection.

 Che cos'è MongoDB Capped Collection

MongoDB Capped Collection-Crea, controlla, Converti, scollega il Capped

Rimani aggiornato con le ultime tendenze tecnologiche
Unisciti a DataFlair su Telegram!!

Che cos’è MongoDB Capped Collections?

Si tratta di una raccolta fissa, che supporta operazioni di throughput elevato. Sulla base di un ordine di inserimento, possiamo inserire e recuperare un documento. Funzionano in modo simile ai buffer circolari: una volta che un file di raccolta è allocato spazio, fa spazio per i nuovi documenti sovrascrivendo i documenti più vecchi della raccolta.

Significa che inizia a eliminare il documento più vecchio della raccolta senza fornire alcun comando esplicito. La raccolta limitata limita gli aggiornamenti se gli aggiornamenti aumentano le dimensioni del documento. Memorizza i documenti nell’ordine di archiviazione su disco, quindi mantiene un controllo sulla dimensione del documento in quanto non dovrebbe aumentare la dimensione allocata al disco. E ‘ meglio per la memorizzazione di informazioni di registro, dati della cache o altri dati ad alto volume.

i. Come creare una raccolta limitata in MongoDB?

Per creare una raccolta con capping MongoDB, usiamo il normale comando createCollection con un’opzione con capping come true e specificando la dimensione massima della raccolta in byte.

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

Insieme a is, possiamo limitare il numero di documenti nella raccolta utilizzando il parametro max-

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

Sai come creare database in MongoDB?

ii. Come controllare la raccolta è limitata o no?

Se si desidera verificare se una raccolta è limitata o meno, utilizzare il seguente comando:

>db.cappedLogCollection.isCapped()

iii. Come convertire una raccolta in Capped?

Se esiste una raccolta esistente che si desidera modificare in capped, è possibile farlo utilizzando il seguente comando:

>db.runCommand({"convertToCapped":"posts",size:10000})

iv. Come trovare Query sulla raccolta Capped in MongoDB?

In generale, una query di ricerca su una raccolta limitata visualizzerà i risultati in ordine di inserimento. Ma se vuoi che i documenti siano in ordine inverso, usa il comando Ordina come mostrato di seguito:

>db.cappedLogCollection.find().sort({$natural:-1}

Fatti su MongoDB Capped Collection

Di seguito sono riportati alcuni punti da ricordare sulle collezioni Capped in MongoDB:

  1. Non è possibile eliminare documenti da una raccolta limitata. Può essere eliminato automaticamente solo dopo l’inserimento di nuovi documenti quando la dimensione allocata alla raccolta è stata esaurita.
  2. Dopo aver letto i documenti da una raccolta limitata, MongoDB restituisce lo stesso documento nell’ordine in cui erano presenti sul disco. Per questo motivo, rende le operazioni di lettura da eseguire molto velocemente.
  3. L’operazione di aggiornamento ha una restrizione con se stessa. Se l’aggiornamento nella raccolta comporta l’aumento delle dimensioni del documento, non aggiornerà il documento nella raccolta poiché ogni documento ha la sua dimensione fissa durante il primo inserimento nella raccolta con cappuccio.

Readng consigliato – Come aggiornare il documento in MongoDB?

Come decomprimere una collezione Capped MongoDB?

Qui useremo due comandi che sono mongodump e mongorestore.

i. Dump della collezione capped

Prima di tutto, scaricheremo la collezione capped.

PROD [email protected]:/data/uncap # mongodump -d mydb -c myexampleconnected to: 127.0.0.1:27017Sun Feb 5 00:02:28.879 DATABASE: mydb to dump/mydbSun Feb 5 00:02:28.880 mydb.myexample to dump/mydb/myexample.bsonSun Feb 5 00:02:31.004 Collection File Writing Progress: 868400/67569879 1% (objects)...Sun Feb 5 00:24:13.004 Collection File Writing Progress: 67480900/67569879 99% (objects)Sun Feb 5 00:24:14.203 67569879 objectsSun Feb 5 00:24:14.203 Metadata for mydb.myexample to dump/mydb/myexample.metadata.json

ii. Metafile in formato JSON

Ora, dump include anche un file di metadati in formato JSON.

cat dump/mydb/myexample.metadata.json { "options": { "capped": true, "size": 107374182400 }, "indexes": }

Dai un’occhiata – MongoDB Backup& Ripristina opzione

iii. Rimuovi la sezione “opzione”

Ora, dopo questo, rimuovi la sezione “opzioni” che visualizza la dimensione della raccolta limitata.

PROD [email protected]:/data/uncap # mongorestore -d mydb -c myexample_tmp dump/mydb/myexample.bsonconnected to: 127.0.0.1:27018Sun Feb 5 00:29:41.473 dump/mydb/myexample.bsonSun Feb 5 00:29:41.473 going into namespace Sun Feb 5 00:29:44.060 Progress: 51202216/106169934834 0% (bytes)Sun Feb 5 00:29:47.007 Progress: 106497873/106169934834 0% (bytes)Sun Feb 5 01:57:19.065 Progress: 106159626025/106169934834 99% (bytes)67569879 objects foundSun Feb 5 01:57:19.637 Creating index: { key: { _id: 1 }, ns: "mydb.myexample_tmp", name: "_id_" }

iv. Crea indici per noi

Dopo questo crea automaticamente indici per noi. Controlla dopo questo.

rs-prod:PRIMARY> db.myexample.isCapped()truers-prod:PRIMARY> db.myexample_tmp.isCapped()falsers-prod:PRIMARY> db.myexample.count()9876543210rs-prod:PRIMARY> db.myexample_tmp.count()9876543210

v. Eliminare la vecchia collezione e rinominare

Dopo questo eliminare la vecchia collezione e rinominare la nuova collezione.

db.myexample.drop()db.myexample_tmp.renameCollection('myexample')db.myexample.count()9876543210

Vantaggi delle collezioni Capped

Questi sono alcuni vantaggi:

  • Le query non hanno bisogno di un indice per restituire i documenti in ordine di inserimento grazie al quale fornisce un throughput di inserimento più elevato.
  • Le raccolte Capped consentono aggiornamenti che si adattano alle dimensioni del documento originale, il che ci garantisce che il documento non cambia la sua posizione sul disco.
  • È utile mantenere i file di registro.

Svantaggi delle collezioni limitate

Di seguito sono riportate le limitazioni delle collezioni limitate in MongoDB:

  • Se l’aggiornamento di un documento supera la dimensione originale di una raccolta, l’operazione di aggiornamento non riesce.

Inoltre, Learn – MongoDB Relationships & Database Reference

  • Non è possibile eliminare documenti da una raccolta limitata. Per rimuovere tutti i record da una raccolta limitata, utilizzare il seguente comando:
{ emptycapped: nameOfCollection }
  • Non è possibile frammentare una raccolta limitata.

Applicazione di una raccolta limitata

Alcune delle applicazioni di una raccolta limitata sono le seguenti:

  • Registrazione delle applicazioni
  • Cronologia
  • Informazioni di controllo

Riepilogo

Quindi, abbiamo studiato tutto sulle collezioni capped MongoDB – come creare, convertire, controllare, vantaggi, svantaggi. Finalmente abbiamo studiato mongodump e mongorestore sono i due comandi utilizzati per decomprimere la raccolta.

Speranza. lo trovi utile. Se avete qualsiasi domanda, non esitate a condividere con noi. Sicuramente, ci metteremo di nuovo a voi!

Argomento correlato-MongoDB ObjectId & Operazioni atomiche

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.