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

MongoDB কালেকশনে অবজেক্ট অ্যারে থেকে শুধু কুয়েরি করা এলিমেন্ট রিট্রিভ করা

MongoDB কালেকশনে অবজেক্ট অ্যারে-এ কুয়েরি করা এলিমেন্ট ফিল্টার করতে প্রজেকশন অপারেটর $elemMatch ব্যবহার করতে পারেন। শুধু কুয়েরি করা এলিমেন্ট রিট্রিভ করতে, প্রথমে ডকুমেন্ট অবজেক্ট অ্যারে সহ একটি কালেকশন তৈরি করি।

কুয়েরি:

> 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 যোগ করা হয়েছে id প্রোপার্টি এক্সক্লুড করতে ( _id প্রোপার্টি দেখাবে না):

> 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-তে $slice ব্যবহার করে অ্যারে থেকে একমাত্র এলিমেন্ট বের করা