কম্পিউটার

দুটি অ্যারে আনওয়াইন্ড করতে MongoDB ক্যোয়ারী


আনওয়াইন্ড করার অর্থ হল প্রতিটি উপাদানের জন্য একটি নথি আউটপুট করার জন্য ইনপুট নথি থেকে একটি অ্যারে ক্ষেত্রকে বিনির্মাণ করা৷

অ্যারেগুলি আনওয়াইন্ড করতে, MongoDB সমষ্টিতে $unwind ব্যবহার করুন। আসুন প্রথমে নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.demo387.insertOne(
...    {
...
...       "Name" : "101",
...       "Details1" : [
...          {Value:100, Value1:50, Value2:40},
...          {Value:200},
...          {Value:300}
...       ],
...       "Details" : [
...          {Value:100, Value1:30, Value2:26},
...          {Value:200},
...          {Value:300}
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5d197022064be7ab44e7f8")
}

Find() পদ্ধতি -

এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন
> db.demo387.find().pretty();

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

তৈরি করবে
{
   "_id" : ObjectId("5e5d197022064be7ab44e7f8"),
   "Name" : "101",
   "Details1" : [
      {
         "Value" : 100,
         "Value1" : 50,
         "Value2" : 40
      },
      {
         "Value" : 200
      },
      {
         "Value" : 300
      }
   ],
   "Details" : [
      {
         "Value" : 100,
         "Value1" : 30,
         "Value2" : 26
      },
      {
         "Value" : 200
      },
      {
         "Value" : 300
      }
   ]
}

1-এর বেশি অ্যারে-

সহ নথিকে একত্রিত করার জন্য নিম্নোক্ত ক্যোয়ারী
> db.demo387.aggregate([
...    { "$unwind": "$Details1" },
...    { "$unwind": "$Details" },
...    { "$match": { "$expr":
...    { "$eq": ["$Details1.Value", "$Details.Value"] }
... }}
... ])

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

তৈরি করবে
{ "_id" : ObjectId("5e5d197022064be7ab44e7f8"), "Name" : "101", "Details1" : { "Value" : 100, "Value1" : 50, "Value2" : 40 }, "Details" : { "Value" : 100, "Value1" : 30, "Value2" : 26 } }
{ "_id" : ObjectId("5e5d197022064be7ab44e7f8"), "Name" : "101", "Details1" : { "Value" : 200 }, "Details" : { "Value" : 200 } }
{ "_id" : ObjectId("5e5d197022064be7ab44e7f8"), "Name" : "101", "Details1" : { "Value" : 300 }, "Details" : { "Value" : 300 } }

  1. MongoDB-তে সাবডকুমেন্টের কোয়েরি অ্যারে

  2. MongoDB থেকে দুটি অ্যারে আনউইন্ড করুন

  3. _id দ্বারা গ্রুপে MongoDB ক্যোয়ারী

  4. একটি সংগ্রহের নাম পরিবর্তন করতে MongoDB ক্যোয়ারী?