I denne opplæringen vil vi utforske hvordan du bruker den kompakte kommandoen i MongoDB. Den kompakte kommandoen lar deg omskrive og defrage dataene og indeksene i en MongoDB -samling gratis opp diskplass.
Kommandosyntaks
Følgende kodebit viser syntaks for den kompakte kommandoen:
db.RunCommand (
kompakt:
)
Den kompakte kommandoen godtar følgende parametere:
Det er godt å huske på at den kompakte operasjonen blokkerer databasen som den kompakte kommandoen utføres. Imidlertid påvirker det ikke de andre databasene i klyngen.
Eksempel:
La oss illustrere hvordan vi bruker den kompakte kommandoen i MongoDB. For best å se effekten av den kompakte kommandoen, er det bra å se innsamlingsstørrelsen før komprimering.
Anta at vi har en samling som heter Disney som inneholder informasjonen om Disney -filmer og TV -serier.
Vi kan få innsamlingsdiskbruken før komprimering med følgende kommando:
Kino> DB.Disney.Statistikk (skala: 1024)
Den forrige kommandoen returnerer statistikken om den spesifiserte samlingen. Det vi er interessert i er samlingsstørrelsen. Et eksempelutgang er som vist:
,
NINDEXES: 3,
Indeksbuilds: [],
TotalIndexSize: 104,
TotalSize: 400,
Indeksstørrelser: _id_: 28, title_1: 52, type_1: 24,
Scalefactor: 1024,
OK: 1
I dette tilfellet kan vi se at samlingen tar opp 400 kb data før komprimering.
Kjører komprimeringskommandoen
Vi kan kjøre komprimeringsoperasjonen som vist i følgende:
Kino> DB.RunCommand (Compact: "Disney", Force: True)
Kommandoen skal returnere en utgang som vist i følgende:
Kino> DB.RunCommand (Compact: "Disney", Force: True)
Bytesfreed: 300, OK: 1
Vi kan deretter sjekke bruksstatistikken som følger:
NINDEXES: 3,
Indeksbuilds: [],
TotalIndexSize: 104,
Totalsize: 399,
Indeksstørrelser: _id_: 28, title_1: 52, type_1: 24,
Scalefactor: 1024,
OK: 1
Vi kan se at kommandoen frigjør 30 byte med data.
Konklusjon
I dette korte innlegget dekket vi hvordan du bruker den kompakte kommandoen i MongoDB for å defragmentere dataene i en gitt samling og frigjøre en diskplass til vertssystemet.