獲取 MongoDB 查詢中所有文件的大小?
要獲取查詢中所有文件的大小,你需要遍歷文件。我們首先使用文件建立一個集合 -
> 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP