Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

หาขนาดคอลเลกชันใน MongoDB ตามเงื่อนไข

ใช้ Object.bsonsize() ร่วมกับ forEach() เพื่อคำนวณขนาดรวมของเอกสารที่ตรงตามเงื่อนไข เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:

> db.mongoDBCollectionSizeDemo.insertOne({"Name":"John", "Age":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf23e3db64a577be5a2bc16") }
> db.mongoDBCollectionSizeDemo.insertOne({"Name":"Chris", "Age":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf23e45b64a577be5a2bc17") }
> db.mongoDBCollectionSizeDemo.insertOne({"Name":"Robert", "Age":26});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf23e4db64a577be5a2bc18") }

แสดงเอกสาร:

> db.mongoDBCollectionSizeDemo.find();

คิวรี่คำนวณขนาดรวมของเอกสารที่ Name = "Robert" (หน่วยเป็น bytes):

> var collectionsize = 0;
> db.mongoDBCollectionSizeDemo.find({Name:'Robert'}).forEach(function(d) {
  var s = Object.bsonsize(d);
  collectionsize = collectionsize + s;
})
> print(collectionsize);
52

หมายเหตุ: Object.bsonsize() คืนค่าขนาดของเอกสารในรูปแบบ BSON (รวม _id และทุกฟิลด์) หากต้องการขนาดคอลเลกชันทั้งหมด ให้ใช้ db.collection.stats() หรือ db.collection.totalSize() แทน