หากต้องการค้นหาขนาดเอกสารที่ใหญ่ที่สุดใน MongoDB คุณต้องเขียนสคริปต์ในเชลล์
เพื่อให้เข้าใจแนวคิด ให้เราสร้างคอลเลกชันพร้อมกับเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -
> db.largestDocumentDemo.insertOne({"StudentName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8ed2e32f684a30fbdfd57d")
}
> db.largestDocumentDemo.insertOne({"StudentName":"Carol","StudentAge":22,"StudentCountryName":"US","TechnicalSubject":["C","C++","Java","MySQL"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8ed3282f684a30fbdfd57e")
}
> db.largestDocumentDemo.insertOne({"StudentName":"Mike","StudentAge":22});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8ed3382f684a30fbdfd57f")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังต่อไปนี้ −
> db.largestDocumentDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" : ObjectId("5c8ed2e32f684a30fbdfd57d"), "StudentName" : "John" }
{
"_id" : ObjectId("5c8ed3282f684a30fbdfd57e"),
"StudentName" : "Carol",
"StudentAge" : 22,
"StudentCountryName" : "US",
"TechnicalSubject" : [
"C",
"C++",
"Java",
"MySQL"
]
}
{
"_id" : ObjectId("5c8ed3382f684a30fbdfd57f"),
"StudentName" : "Mike",
"StudentAge" : 22
} นี่คือแบบสอบถามเพื่อค้นหาขนาดเอกสารที่ใหญ่ที่สุดใน MongoDB -
> var largestDocumentSize = 0;
> db.largestDocumentDemo.find().forEach(function(myObject) {
... var currentDocumentSize = Object.bsonsize(myObject);
... if(largestDocumentSize < currentDocumentSize ) {
... largestDocumentSize = currentDocumentSize ;
... }
... });
> print('The Largest Document Size =' + ' ' +largestDocumentSize); ต่อไปนี้เป็นผลลัพธ์ที่แสดงขนาดเอกสารที่ใหญ่ที่สุด -
The Largest Document Size = 160