sql >> Databáze >  >> NoSQL >> MongoDB

Získejte velikost všech dokumentů v dotazu

Zde je odpověď, kterou jsem našel:

var cursor = db.collection.find(...); //Add your query here.
var size = 0;
cursor.forEach(
    function(doc){
        size += Object.bsonsize(doc)
    }
);
print(size);

Velikost dokumentů v bajtech by měla být vytištěna docela přesně.

Příkaz jsem spustil dvakrát. Poprvé to bylo 141 215 dokumentů, které po vyhození měly celkem asi 108 MB. Rozdíl mezi výstupem příkazu a velikostí na disku byl 787 bajtů.

Při druhém spuštění příkazu bylo 35 914 179 dokumentů, které po vysypání měly celkem asi 57,8 gb. Tentokrát jsem měl přesně stejnou velikost mezi příkazem a skutečnou velikostí na disku.



  1. Jaká je výhoda použití ObjectId namísto prostého řetězce?

  2. Nelze restartovat mongodb na Ubuntu 11.04

  3. Jak mohu získat hodnotu z Redis a vložit ji do proměnné v NGiNX?

  4. PyMongo/Mongoengine ekvivalent mongodump