কম্পিউটার

MongoDB সংগ্রহে একটি অবজেক্ট অ্যারেতে শুধুমাত্র জিজ্ঞাসা করা উপাদান পুনরুদ্ধার করবেন?


আপনি MongoDB সংগ্রহে একটি অবজেক্ট অ্যারেতে জিজ্ঞাসা করা উপাদান ফিল্টার করতে প্রজেকশন অপারেটর $elemMatch ব্যবহার করতে পারেন। MongoDB-তে একটি অবজেক্ট অ্যারেতে শুধুমাত্র জিজ্ঞাসা করা উপাদান পুনরুদ্ধার করতে, আসুন প্রথমে নথি অবজেক্ট অ্যারে সহ একটি সংগ্রহ তৈরি করি।

প্রশ্নটি নিম্নরূপ:

> db.objectArray.insert({"Persons":[
   {"PersonName":"Adam","PersonSalary":25000},{"PersonName":"Larry","PersonSalary":27000
   }]});
   WriteResult({ "nInserted" : 1 })
> db.objectArray.insert({"Persons":[
   {"PersonName":"David","PersonSalary":32000},{"PersonName":"Carol","PersonSalary":77000
   }]});
   WriteResult({ "nInserted" : 1 })

এখন আপনি find() এর সাহায্যে সমস্ত নথি প্রদর্শন করতে পারেন। প্রশ্নটি নিম্নরূপ:

> db.objectArray.find().pretty();

নিম্নলিখিত আউটপুট:

{
   "_id" : ObjectId("5c6bfadc68174aae23f5ef53"),
   "Persons" : [
      {
         "PersonName" : "Adam",
         "PersonSalary" : 25000
      },
      {
         "PersonName" : "Larry",
         "PersonSalary" : 27000
      }
   ]
}
{
   "_id" : ObjectId("5c6bfb0968174aae23f5ef54"),
   "Persons" : [
      {
         "PersonName" : "David",
         "PersonSalary" : 32000
      },
      {
         "PersonName" : "Carol",
         "PersonSalary" : 77000
      }
   ]
}

MongoDB-তে একটি অবজেক্ট অ্যারেতে শুধুমাত্র জিজ্ঞাসা করা উপাদান পুনরুদ্ধার করার জন্য এখানে ক্যোয়ারী রয়েছে। এখানে _id:0 আইডি প্রপার্টি বাদ দিতে যোগ করা হয় (_আইডি প্রপার্টি দেখাবেন না):

> db.objectArray.find({"Persons.PersonSalary":25000}, {
_id:0,Persons:{$elemMatch:{"PersonSalary":25000}}}).pretty();

নিম্নলিখিত আউটপুট:

{
   "Persons" : [
      {
         "PersonName" : "Adam",
         "PersonSalary" : 25000
      }
   ]
}

উপরের কাজটি করার বিকল্প উপায় হল প্রজেকশন অপারেটর $ এর সাহায্যে। প্রশ্নটি নিম্নরূপ:

> db.objectArray.find({"Persons.PersonSalary":25000}, { _id:0,'Persons.$':1}).pretty();

নিম্নলিখিত আউটপুট:

{
   "Persons" : [
      {
         "PersonName" : "Adam",
         "PersonSalary" : 25000
      }
   ]
}

  1. MongoDB-তে সূচক দ্বারা ফলাফলের অ্যারে থেকে একটি একক উপাদান পান

  2. MongoDB-তে অ্যারে অবজেক্ট সহ একটি অ্যারের উপাদানের মান বৃদ্ধি করুন

  3. MongoDB সংগ্রহে সর্বাধিক উপাদান পান?

  4. MongoDB ক্যোয়ারী অ্যারের শুধুমাত্র একটি উপাদান স্লাইস করতে