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

MongoDB-এ একটি ফিল্ড null হলে অন্য ফিল্ড, উভয় না হলে প্রথম ফিল্ড বেছে নেওয়ার পদ্ধতি

MongoDB-এ কন্ডিশনাল ফিল্ড সিলেকশন জন্য $ifNull অপারেটর ব্যবহার করুন। এটি প্রথম এক্সপ্রেশন null বা missing হলে দ্বিতীয়টি রিটার্ন করে।

উদাহরণ

বিভিন্ন কেসের ডকুমেন্ট তৈরি করুন:

> db.querySelectDemo.insertOne({"Value1":10,"Value2":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefc0ceef71edecf6a1f6b6") }

> db.querySelectDemo.insertOne({"Value1":null,"Value2":30});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefc0d7ef71edecf6a1f6b7") }

> db.querySelectDemo.insertOne({"Value1":60,"Value2":40});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefc0e2ef71edecf6a1f6b8") }

সকল ডকুমেন্ট দেখুন:

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

আউটপুট:

{ "_id" : ObjectId("5cefc0ceef71edecf6a1f6b6"), "Value1" : 10, "Value2" : null }
{ "_id" : ObjectId("5cefc0d7ef71edecf6a1f6b7"), "Value1" : null, "Value2" : 30 }
{ "_id" : ObjectId("5cefc0e2ef71edecf6a1f6b8"), "Value1" : 60, "Value2" : 40 }

$ifNull ব্যবহার করে Value1 null হলে Value2 বেছে নেওয়া

> db.querySelectDemo.aggregate([
    {
        $project: {
            "Value1": { "$ifNull": [ "$Value1", "$Value2" ] }
        }
    }
]);

আউটপুট:

{ "_id" : ObjectId("5cefc0ceef71edecf6a1f6b6"), "Value1" : 10 }
{ "_id" : ObjectId("5cefc0d7ef71edecf6a1f6b7"), "Value1" : 30 }
{ "_id" : ObjectId("5cefc0e2ef71edecf6a1f6b8"), "Value1" : 60 }

ব্যাখ্যা:

  • ১ম ডকুমেন্ট: Value1 = ১০ (null নয়) → ১০ রিটার্ন।
  • ২য় ডকুমেন্ট: Value1 = null → Value2 = ৩০ রিটার্ন।
  • ৩য় ডকুমেন্ট: Value1 = ৬০ (null নয়) → ৬০ রিটার্ন।

ব্যাবহার: ফলব্যাক (fallback) মান সেট করার জন্য আদর্শ, যেমন: ডিফল্ট ইমেজ, ডিফল্ট ক্যাটাগরি ইত্যাদি।

  1. MongoDB-তে অ্যারে এলিমেন্টের সংখ্যা গুনে নতুন ফিল্ডে দেখানো ($size)

  2. MongoDB-তে অ্যাগ্রিগেশন দিয়ে ডISTINCT সিলেক্ট এবং কাউন্ট করা

  3. MongoDB-তে $slice ব্যবহার করে ফিল্ডের রিটার্নিং ভ্যালু লিমিট করা

  4. MongoDB-এ নতুন ফিল্ড যোগ করে প্রাইস বিভাজন এবং কনক্যাটেনেশন