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:
È 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.