db.stats() în MongoDB & NoSQL

Afișează statistici despre baza curentă: număr de colecții și documente, mărimea datelor, a indexurilor și spațiul pe disc.

Sintaxă
db.stats()
db.stats({ scale: 1024 })

Ce face db.stats()

db.stats() rulează comanda dbStats și întoarce un document cu cifrele bazei curente: collections, objects (documente), avgObjSize, dataSize (mărimea necomprimată a datelor), storageSize (spațiul alocat pe disc, de obicei comprimat), indexes și indexSize.

Valorile de mărime sunt implicit în octeți. Cu { scale: 1024 } le primești în KB, cu 1024 * 1024 în MB. Câmpurile fsUsedSize și fsTotalSize arată ocuparea discului pe care stau datele.

Parametri

Parametru Descriere
scale Împarte valorile de mărime (1024 = KB).
freeStorage Cu 1, include și spațiul liber reutilizabil din fișiere.

Ce returnează

Un document cu statisticile bazei de date.

Exemple

Exemplul 1: Statisticile bazei magazin

dataSize e mai mare decât storageSize pentru că WiredTiger comprimă datele pe disc.

db.stats()

Ieșire în mongosh

{
  db: 'magazin',
  collections: Long('3'),
  views: Long('0'),
  objects: Long('1520'),
  avgObjSize: 212.4,
  dataSize: 322848,
  storageSize: 151552,
  indexes: Long('5'),
  indexSize: 135168,
  totalSize: 286720,
  scaleFactor: Long('1'),
  fsUsedSize: 48211234816,
  fsTotalSize: 245107195904,
  ok: 1
}

Exemplul 2: Doar numărul de documente

Rezultatul e un document obișnuit, deci poți citi direct un câmp.

db.stats().objects

Ieșire în mongosh

Long('1520')

Greșeli frecvente

  • db.stats() arată toată baza; pentru o singură colecție folosește etapa $collStats (db.comenzi.aggregate([{ $collStats: { storageStats: {} } }])).
  • objects poate fi aproximativ după o oprire bruscă a serverului; pentru numere exacte într-o colecție folosește countDocuments().

Comenzi înrudite

  • show dbs / use: În mongosh, show dbs listează bazele de date, use schimbă baza curentă, iar show collections arată colecțiile ei.
  • getIndexes(): Listează indexurile unei colecții, cu câmpurile, numele și opțiunile fiecăruia (unique, expireAfterSeconds etc.).
  • drop() / dropDatabase(): drop() șterge definitiv o colecție cu documentele și indexurile ei; dropDatabase() șterge toată baza curentă.