কম্পিউটার

অন্যান্য সংগ্রহের ম্যাচিং ক্ষেত্রের জন্য MongoDB সমষ্টি JSON অ্যারে ক্ষেত্র?


এই জন্য, দুটি সংগ্রহ তৈরি করুন এবং কিছু নথি যোগ করুন। এর পরে, ম্যাচের জন্য $lookup ব্যবহার করুন। আসুন নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.demo101.insertOne(
... { "_id" : "1", "Details" : [ { "PId" : "200" }, { "PId" : "201" }, { "PId" : "201" } ] }
... )
{ "acknowledged" : true, "insertedId" : "1" }

Find() পদ্ধতি -

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

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

তৈরি করবে
{ "_id" : "1", "Details" : [ { "PId" : "200" }, { "PId" : "201" }, { "PId" : "201" } ] }

কিছু নথি-

সহ দ্বিতীয় সংগ্রহ তৈরি করার প্রশ্নটি নিম্নরূপ
> db.demo102.insertOne(
... { "_id" : "201", "CustEmailId" : "Carol@gmail.com" }
... );
{ "acknowledged" : true, "insertedId" : "201" }

Find() পদ্ধতি -

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

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

তৈরি করবে
{ "_id" : "200", "CustEmailId" : "John@gmail.com" }
{ "_id" : "201", "CustEmailId" : "Carol@gmail.com" }

অন্যান্য সংগ্রহের মিলিত ক্ষেত্রের জন্য JSON অ্যারে ক্ষেত্রকে একত্রিত করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে -

> db.demo101.aggregate(
... [
...    {$unwind:"$Details"},
...    {$lookup : {from : "demo102", "localField":"Details.PId", "foreignField":"_id", as :"out"}},
...    {$project : {"_id":1, "Details.PId":{$arrayElemAt:["$out.CustEmailId",0]}}},
...    {$group:{_id:"$_id", Details : {$push : "$Details"}}}
... ]
... ).pretty()

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

তৈরি করবে
{
   "_id" : "1",
   "Details" : [
      {
         "PId" : "John@gmail.com"
      },
      {
         "PId" : "Carol@gmail.com"
      },
      {
         "PId" : "Carol@gmail.com"
      }
   ]
}

  1. অ্যারের দৈর্ঘ্য পেতে MongoDB মোট $ স্লাইস

  2. কিভাবে দুটি সংগ্রহ একত্রিত করা যায় যেখানে একটি সংগ্রহ থেকে একটি ক্ষেত্র মঙ্গোডিবিতে অন্যটির চেয়ে বড়?

  3. MongoDB-তে ক্ষেত্র গণনা অনুসারে আমি কীভাবে সংগ্রহ এবং গোষ্ঠীবদ্ধ করতে পারি?

  4. মঙ্গোডিবি সংগ্রহের সমস্ত নথিতে কীভাবে একটি নতুন ক্ষেত্র যুক্ত করবেন