MongoDB-তে শর্ত পূরণকারী প্রথম ডকুমেন্ট মাত্র পেতে findOne() মেথড ব্যবহার করা হয়। এটি find().limit(1)-এর সমতুল্য কিন্তু সরাসরি ডকুমেন্ট (কার্সর নয়) রিটার্ন করে।
উদাহরণ: ফার্স্ট নেম এবং লাস্ট নেম সহ ডকুমেন্ট
> db.demo596.insertOne({ _id: 1, "FirstName": "John", "LastName": "Smith" });
> db.demo596.insertOne({ _id: 2, "FirstName": "John", "LastName": "Doe" });
> db.demo596.insertOne({ _id: 3, "FirstName": "Chris", "LastName": "Brown" });
> db.demo596.insertOne({ _id: 4, "FirstName": "David", "LastName": "Miller" });
সব ডকুমেন্ট দেখা
> db.demo596.find();
FirstName="John" olan প্রথম ডকুমেন্ট বের করা
> db.demo596.findOne({ "FirstName": "John" });
আউটপুট:
{ "_id" : 1, "FirstName" : "John", "LastName" : "Smith" }
findOne() এর বৈশিষ্ট্য:
- শুধু একটি ডকুমেন্ট রিটার্ন করে (অথবা null)
- কোয়েরি মিলে একাধিক ডকুমেন্ট থাকলে ন্যাচারেল অর্ডার (ইনসারশন অর্ডার) অনুযায়ী প্রথমটি দেয়
- সর্ট করতে চাইলে:
findOne().sort({...})কাজ করে না; বরংfind().sort(...).limit(1)ব্যবহার করুন - প্রজেকশন সাপোর্ট করে:
findOne({query}, {projection})