쿼리에 있는 모든 문서의 크기를 얻으려면 문서를 반복해야 합니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −
> db.sizeOfAllDocumentsDemo.insertOne({"StudentFirstName":"John","StudentSubject":["MongoDB","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5cd3c0c1edc6604c74817cd7") } > db.sizeOfAllDocumentsDemo.insertOne({"StudentFirstName":"Larry","StudentSubject":["MySQL","PHP"],"StudentAge":21}); { "acknowledged" : true, "insertedId" : ObjectId("5cd3c0d9edc6604c74817cd8") } > db.sizeOfAllDocumentsDemo.insertOne({"StudentFirstName":"Chris","StudentSubject":["SQL Server","C#"],"StudentAge":23,"StudentCountryName":"US"}); { "acknowledged" : true, "insertedId" : ObjectId("5cd3c0fbedc6604c74817cd9") }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -
> db.sizeOfAllDocumentsDemo.find().pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : ObjectId("5cd3c0c1edc6604c74817cd7"), "StudentFirstName" : "John", "StudentSubject" : [ "MongoDB", "Java" ] } { "_id" : ObjectId("5cd3c0d9edc6604c74817cd8"), "StudentFirstName" : "Larry", "StudentSubject" : [ "MySQL", "PHP" ], "StudentAge" : 21 } { "_id" : ObjectId("5cd3c0fbedc6604c74817cd9"), "StudentFirstName" : "Chris", "StudentSubject" : [ "SQL Server", "C#" ], "StudentAge" : 23, "StudentCountryName" : "US" }
다음은 쿼리에 있는 모든 문서의 크기를 가져오는 쿼리입니다. -
> var allDocument = db.sizeOfAllDocumentsDemo.find(); > var counter = 0; > allDocument.forEach( ... function(myDocument) { ... counter = counter+Object.bsonsize(myDocument) ... } ... ); > print(counter);
이것은 다음과 같은 출력을 생성합니다 -
358