Collezioni compatte MongoDB

Collezioni compatte MongoDB

In questo tutorial, esploreremo come utilizzare il comando compatto in mongodb. Il comando compatto consente di riscrivere e sbloccare i dati e gli indici all'interno di una raccolta MongoDB Free Up Disc Space.

Sintassi del comando

Il seguente frammento di codice mostra la sintassi del comando compatto:

db.runCommand (

compatto:

)

Il comando compatto accetta i seguenti parametri:

  1. - Specifica il nome della raccolta in compatto.
  2. forza - Un parametro booleano che consente l'esecuzione del comando compatto sul primario in un determinato set di replica.
  3. commento - Specifica un commento allegato a un determinato comando.

È bene tenere presente che l'operazione compatta blocca il database su cui viene eseguito il comando compatto. Tuttavia, non influisce sugli altri database nel cluster.

Esempio:

Illustriamo come utilizzare il comando compatto in mongodb. Per vedere meglio gli effetti del comando compatto, è bene visualizzare la dimensione della raccolta prima della compattazione.

Supponiamo di avere una collezione chiamata Disney che contiene le informazioni sui film e sui programmi TV Disney.

Possiamo ottenere l'utilizzo del disco di raccolta prima della compattazione con il seguente comando:

Cinema> db.Disney.Stats (Scala: 1024)

Il comando precedente restituisce le statistiche sulla raccolta specificata. Ciò a cui siamo interessati è la dimensione della raccolta. Un output di esempio è come mostrato:

,
Nindexes: 3,
INDICEBUILDS: [],
TotalIndexSize: 104,
TotalSize: 400,
indicizzati: _id_: 28, title_1: 52, type_1: 24,
ScaleFactor: 1024,
OK: 1

In questo caso, possiamo vedere che la raccolta occupa 400 kb di dati prima della compattazione.

Esecuzione del comando di compattazione

Possiamo eseguire l'operazione di compattazione come mostrato nel seguente:

Cinema> db.RunCommand (compact: "Disney", Force: true)

Il comando dovrebbe restituire un output come mostrato nel seguente:

Cinema> db.RunCommand (compact: "Disney", Force: true)
bytesfreed: 300, OK: 1

Possiamo quindi controllare le statistiche di utilizzo come segue:


Nindexes: 3,
INDICEBUILDS: [],
TotalIndexSize: 104,
TotalSize: 399,
indicizzati: _id_: 28, title_1: 52, type_1: 24,
ScaleFactor: 1024,
OK: 1

Possiamo vedere che il comando rilascia 30 byte di dati.

Conclusione

In questo breve post, abbiamo trattato come utilizzare il comando compatto in MongoDB per sbloccare i dati in una determinata raccolta e rilasciare uno spazio su disco sul sistema host.