sql >> Database teknologi >  >> NoSQL >> MongoDB

Få størrelsen på alle dokumenterne i en forespørgsel

Her er svaret, jeg har fundet:

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

Bør udskrive størrelsen i bytes af dokumenterne ret præcist.

Jeg har kørt kommandoen to gange. Første gang var der 141 215 dokumenter, som, når de først var dumpet, havde i alt omkring 108 mb. Forskellen mellem outputtet af kommandoen og størrelsen på disken var på 787 bytes.

Anden gang jeg kørte kommandoen, var der 35 914 179 dokumenter, som, når de først var dumpet, havde i alt omkring 57,8 gb. Denne gang havde jeg nøjagtig samme størrelse mellem kommandoen og den rigtige størrelse på disken.



  1. Hvornår skal jeg bruge en NoSQL-database i stedet for en relationsdatabase? Er det okay at bruge begge på samme side?

  2. Brug af Cloudera Data Engineering til at analysere dataene i lønsedlens beskyttelsesprogram

  3. Får du en forbindelsesfejl, når du bruger redis-trib.rb til at oprette en klynge?

  4. MongoDb-forespørgselsarray med null-værdier