MongoDB-এ একটি কালেকশনে মোট ডকুমেন্ট সংখ্যা বা শর্তানুসারী ডকুমেন্ট সংখ্যা বের করার জন্য count() (লিগেসি) বা countDocuments() (আধুনিক) মেথড ব্যবহার করা হয়।
উদাহরণ: কালেকশন ও ডেটা তৈরি
> db.demo697.insertOne({ Name: "Chris", Age: 21 });
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6d7d1551299a9f98c9395") }
> db.demo697.insertOne({ Name: "Bob", Age: 23 });
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6d7d8551299a9f98c9396") }
> db.demo697.insertOne({ Name: "David", Age: 24 });
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6d7dd551299a9f98c9397") }
সব ডকুমেন্ট দেখানো
> db.demo697.find();
আউটপুট:
{ "_id" : ObjectId("5ea6d7d1551299a9f98c9395"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5ea6d7d8551299a9f98c9396"), "Name" : "Bob", "Age" : 23 }
{ "_id" : ObjectId("5ea6d7dd551299a9f98c9397"), "Name" : "David", "Age" : 24 }
মোট ডকুমেন্ট কাউন্ট করা
> var numberOfRecords = db.demo697.count();
> print("Number of records=", numberOfRecords);
আউটপুট:
Number of records= 3
আধুনিক সিনট্যাক্স (MongoDB 4.0+)
- countDocuments() — কুয়েরি ম্যাচ করা ডকুমেন্টের সঠিক কাউন্ট রিটার্ন করে (ইন্ডেক্স ব্যবহার করে)।
> db.demo697.countDocuments({}) - estimatedDocumentCount() — কুয়েরি ছাড়া মেটাডেটা থেকে দ্রুত অনুমানিক কাউন্ট রিটার্ন করে (শার্ডেড ক্লাস্টারে সঠিক নয়)।
> db.demo697.estimatedDocumentCount()
শর্তসাপেক্ষ কাউন্ট
> db.demo697.countDocuments({ Age: { $gt: 21 } })
Age ২১ থেকে বড় ডকুমেন্ট কাউন্ট করবে (২টি: Bob, David)۔
মূল পয়েন্টসমূহ
count()ডিপ্রিকেটেড (deprecated) — নতুন কোডেcountDocuments()ব্যবহার করুন।countDocuments({})পুরো কালেকশনের কাউন্ট।estimatedDocumentCount()দ্রুত কিন্তু আনইন্ডেক্সড বা শার্ডেড এনভায়রনমেন্টে অ্যাকুরেট নয়।- Aggregation-এ
$countস্টেজও ব্যবহার করা যায়। - বড় কালেকশনে কাউন্ট ধীর হতে পারে; ক্যাশিং বা প্রি-অ্যাগ্রিগেটেড কাউন্ট বিবেচনা করুন।