কম্পিউটার টিউটোরিয়াল

MongoDB-এ নির্দিষ্ট ডেটা রিটার্ন: findOne() ফাংশন


নির্দিষ্ট ডেটা বের করা: findOne()

MongoDB-এ কোয়েরি মэтচ করা প্রথম ডকুমেন্ট রিটার্ন করতে findOne() মেথড ব্যবহার করা হয়। এটি একক ডকুমেন্ট আউটপুট দেয়, কোরসার নয়।

নমুনা ডেটা তৈরি

> db.demo473.insertOne({
    _id: new ObjectId(),
    "Name": "Chris",
    "details": { "X-Coordinate": 10, "Y-Coordinate": 15 }
})
> db.demo473.insertOne({
    _id: new ObjectId(),
    "Name": "Bob",
    "details": { "X-Coordinate": 11, "Y-Coordinate": 12 }
})

সমস্ত ডকুমেন্ট দেখানো

> db.demo473.find()

আউটপুট:

{ "_id": ObjectId("..."), "Name": "Chris", "details": { "X-Coordinate": 10, "Y-Coordinate": 15 } }
{ "_id": ObjectId("..."), "Name": "Bob", "details": { "X-Coordinate": 11, "Y-Coordinate": 12 } }

নির্দিষ্ট কোঅর্ডিনেট দিয়ে ডকুমেন্ট খুঁজে বের করা

> db.demo473.findOne({ 'details.X-Coordinate': 11 })

ফলাফল:

{ "_id": ObjectId("..."), "Name": "Bob", "details": { "X-Coordinate": 11, "Y-Coordinate": 12 } }

ব্যাখ্যা

  • findOne(query): কোয়েরি সেটিসফাই করার প্রথম ডকুমেন্ট রিটার্ন করে
  • details.X-Coordinate: ডট নোটেশন দিয়ে নেস্টেড অবজেক্টের ফিল্ড কোয়েরি করা হয়েছে
  • ম্যাচ না হলে null রিটার্ন করে
  • find() vs findOne(): find() কোরসার রিটার্ন করে (ইটারেট করতে হয়), findOne() সরাসরি অবজেক্ট রিটার্ন করে
  • ইনডেক্স থাকলে খুব দ্রুত কাজ করে

সাধারণ ব্যবহারের ক্ষেত্রে: ইউজার লগইন, কনফিগারেশন লোড, ইউনিক লুকআপ।

  1. MongoDB-তে নির্দিষ্ট এম্বেডেড ডকুমেন্ট রিটার্ন করা

  2. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান মэтচ করা ($match স্টেজ)

  3. MongoDB-তে নির্দিষ্ট মান থেকে বড় বা সমান ভ্যালু খোঁজা ($gte)

  4. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা