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

นับจำนวนเอกสารในคอลเลกชัน MongoDB ด้วย count()

การนับจำนวนเอกสาร (documents) ในคอลเลกชัน ใช้เมธอด count() (หรือ countDocuments() / estimatedDocumentCount() ในเวอร์ชันใหม่)

> db.demo664.insertOne({_id: 1, ClientName: "Chris"});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo664.insertOne({_id: 2, ClientName: "Bob"});
{ "acknowledged" : true, "insertedId" : 2 }
> db.demo664.insertOne({_id: 3, ClientName: "Sam"});
{ "acknowledged" : true, "insertedId" : 3 }
> db.demo664.insertOne({_id: 4, ClientName: "David"});
{ "acknowledged" : true, "insertedId" : 4 }

แสดงข้อมูล:

> db.demo664.find();

คิวรีนับจำนวนแถว

> var numberOfRows = db.demo664.count();
> print("Number Of Rows=" + numberOfRows);

ผลลัพธ์:

Number Of Rows=4

เมธอดนับใน MongoDB เวอร์ชันใหม่ (แนะนำ)

ตัวอย่าง

// นับทั้งหมด (แม่นยำ)
db.collection.countDocuments({});

// นับตามเงื่อนไข
db.collection.countDocuments({status: "active"});

// ประมาณการ (เร็วมาก สำหรับคอลเลกชันใหญ่)
db.collection.estimatedDocumentCount();

Aggregation Alternative

db.collection.aggregate([{$count: "total"}]);

ผลลัพธ์: {"total": 4}

MethodคำอธิบายAccuracy
countDocuments(query)นับตาม filter (ใช้ index)แม่นยำ
estimatedDocumentCount()ประมาณจาก metadata (ไม่อ่านข้อมูล)ประมาณ, เร็วมาก
count()Deprecated (ใช้ countDocuments แทน)-