MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Holen Sie sich die Größe aller Dokumente in einer Abfrage

Hier ist die Antwort, die ich gefunden habe:

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

Sollte die Größe der Dokumente in Bytes ziemlich genau ausgeben.

Ich habe den Befehl zweimal ausgeführt. Beim ersten Mal waren es 141.215 Dokumente, die nach dem Ablegen insgesamt etwa 108 MB groß waren. Der Unterschied zwischen der Ausgabe des Befehls und der Größe auf der Festplatte betrug 787 Bytes.

Als ich den Befehl zum zweiten Mal ausführte, gab es 35.914.179 Dokumente, die nach dem Ablegen insgesamt etwa 57,8 GB groß waren. Dieses Mal hatte ich genau die gleiche Größe zwischen dem Befehl und der tatsächlichen Größe auf der Festplatte.