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

MongoDB-এ সাবডকুমেন্টে অ্যারে ফিল্টার কীভাবে করবেন?


আপনি অ্যাগ্রিগেট এবং আনউইন্ড (unwind) ব্যবহার করতে পারেন অ্যারের লিস্টে ম্যাচ প্রয়োগ করার আগে। উপরের কনসেপ্ট বুঝতে, আসুন ডকুমেন্টসহ একটি কলেকশন তৈরি করি। কলেকশন ডকুমেন্ট সহ তৈরি করার কোয়েরি:

> db.filterArray.insertOne( { "L": [{ "N":1 }, { "N":2 } , { "N":3 }, { "N":4 }, { "N":5 } ]});

উপরের কোয়েরি রান করার পর নিচের আউটপুট দেখা যাবে:

{ "acknowledged" : true, "insertedId" : ObjectId("5c6d63f2734e98fc0a434aeb") }

ফাইন্ড (find()) মেথড ব্যবহার করে কলেকশন থেকে ডকুমেন্ট প্রদর্শন করুন। কোয়েরি:

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

আউটপুট:

{ "_id" : ObjectId("5c6d63f2734e98fc0a434aeb"), "L" : [ { "N" : 1 }, { "N" : 2 }, { "N" : 3 }, { "N" : 4 }, { "N" : 5 } ] }

MongoDB-এ সাবডকুমেন্টে অ্যারে ফিল্টার করার কোয়েরি। আমরা $gt ব্যবহার করেছি ৩ থেকে বড় ফিল্ড পাওয়ার জন্য:

> db.filterArray.aggregate({ $match:{_id:ObjectId("5c6d63f2734e98fc0a434aeb")}}, { $unwind:'$L'}, {$match:{'L.N':{$gt:3}}}, {$group:{_id:'$_id',subDocument:{$push:'$L.N'}}}).pretty();

আউটপুট:

{ "_id" : ObjectId("5c6d63f2734e98fc0a434aeb"), "subDocument" : [ 4, 5 ] }
  1. MongoDB-এ মাল্টিকি ইন্ডেক্স ও $elemMatch দিয়ে কোয়েরি অপ্টিমাইজেশন

  2. MongoDB-এ অ্যারে আইটেম গণনা করার পদ্ধতি

  3. MongoDB-এ অ্যারে অনুযায়ী ডকুমেন্ট ফিল্টার করা

  4. MongoDB-এ এমবেডেড ডকুমেন্টের অ্যারে ফিল্টার করা (৩ লেভেল)