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

MongoDB-এ অ্যারে শুধু নির্দিষ্ট ফিল্ড ধারণ করছে কিনা চেক করা


ভূমিকা

MongoDB-এ কোনো অ্যারে ফিল্ডে শুধু একটি নির্দিষ্ট ভ্যালু আছে কিনা (অন্য কোনো ভ্যালু নেই) তা চেক করতে সরাসরি অ্যারে ভ্যালু দিয়ে কোয়েরি করা যায়।

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

arrayContainOnlySpecificFieldDemo কালেকশনে দুটি ডকুমেন্ট ইনসার্ট করা হয়েছে। প্রথমটিতে অ্যারেতে তিনটি সাবজেক্ট, দ্বিতীয়টিতে শুধু "MongoDB" রয়েছে।

> db.arrayContainOnlySpecificFieldDemo.insertOne( { "StudentName":"John", "StudentAge":21, "StudentTechnicalSubject":["C","Java","MongoDB"] } );
{ "acknowledged" : true, "insertedId" : ObjectId("5cc4921dac184d684e3fa26a") }
> db.arrayContainOnlySpecificFieldDemo.insertOne( { "StudentName":"Carol", "StudentAge":23, "StudentTechnicalSubject":["MongoDB"] } );
{ "acknowledged" : true, "insertedId" : ObjectId("5cc49237ac184d684e3fa26b") }

সকল ডকুমেন্ট প্রদর্শন

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

আউটপুট


শুধু "MongoDB" থাকা ডকুমেন্ট বের করা

অ্যারের সঠিক ম‍্যাচ করার জন্য পুরো অ্যারে ভ্যালু ["MongoDB"] দিয়ে কোয়েরি করা হয়েছে।

> db.arrayContainOnlySpecificFieldDemo.find({"StudentTechnicalSubject":[ "MongoDB"]}).pretty();

ফলাফল


মনে রাখবেন: এই কোয়েরি শুধু তখনই কাজ করবে যখন অ্যারেতে শুধু সেই এলিমেন্টটি এককভাবে থাকে। যদি অর্ডার বা অতিরিক্ত এলিমেন্ট থাকে তবে মিলে যাবে না। ফ্লেক্সিবল ম্যাচের জন্য $all বা $elemMatch ব্যবহার করুন।

  1. MongoDB-তে অ্যারে ফিল্ড থেকে নির্দিষ্ট নামের তালিকা পাওয়া

  2. MongoDB-এ নির্দিষ্ট ফিল্ড মান আপডেট করা ($set অপারেটর)

  3. MongoDB-এ নির্দিষ্ট ফিল্ড না থাকা ডকুমেন্ট খুঁজে বের করা

  4. MongoDB-এ $project দিয়ে অ্যারে থেকে নির্দিষ্ট ফিল্ড দেখানো (অন্যান্য বাদ দিয়ে)