นับจำนวนเอกสารตามเงื่อนไขด้วย count()
บทความนี้สาธิตการใช้เมธอด count() ใน MongoDB เพื่อนับจำนวนเอกสารที่ตรงตามเงื่อนไขหลายอย่างพร้อมกัน
ขั้นตอนที่ 1: สร้าง Collection และเพิ่มข้อมูลตัวอย่าง
สร้าง collection ชื่อ demo205 มีฟิลด์ id, Name, Age, isActive
> db.demo205.insertOne({ "id": "101", "Name": "", "Age": "", "isActive": false });
{ "acknowledged": true, "insertedId": ObjectId("5e3d8a3003d395bdc21346eb") }
> db.demo205.insertOne({ "id": "102", "Name": "Chris", "Age": "25", "isActive": true });
{ "acknowledged": true, "insertedId": ObjectId("5e3d8a3003d395bdc21346ec") }
> db.demo205.insertOne({ "id": "103", "Name": "", "Age": "", "isActive": false });
{ "acknowledged": true, "insertedId": ObjectId("5e3d8a3003d395bdc21346ed") }
ขั้นตอนที่ 2: แสดงข้อมูลทั้งหมด
>> db.demo205.find();
ผลลัพธ์:
{ "_id": ObjectId("5e3d8a3003d395bdc21346eb"), "id": "101", "Name": "", "Age": "", "isActive": false }
{ "_id": ObjectId("5e3d8a3003d395bdc21346ec"), "id": "102", "Name": "Chris", "Age": "25", "isActive": true }
{ "_id": ObjectId("5e3d8a3003d395bdc21346ed"), "id": "103", "Name": "", "Age": "", "isActive": false }
ขั้นตอนที่ 3: ใช้ count() กับเงื่อนไขหลายอย่าง
นับเอกสารที่ Name: "", Age: "", และ isActive: false พร้อมกัน
> db.demo205.count({
Name: "",
Age: "",
"isActive": false
});
ผลลัพธ์ที่ได้
2
สรุป: count() รับ Query Object เหมือน find() และคืนค่าจำนวนเอกสารที่ตรงเงื่อนไขโดยตรง โดยไม่ต้องดึงข้อมูลทั้งหมดมา นับฝั่งแอปพลิเคชัน