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

MongoDB-তে অ্যারেকে n অ্যাট্রিবিউটসহ ডকুমেন্টের ম্যাপে রূপান্তর করা


এজন্যে $map ব্যবহার করতে পারেন। প্রথমে ডকুমেন্টসহ একটি কালেকশন তৈরি করি:

> db.demo398.insertOne({ ...    "details":[ ...       { ...          "Name":"Chris", ...          "Age":22 ...       } ...    ] ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5e8cedfac4d418a017856c") }

find() মেথড দিয়ে সব ডকুমেন্ট দেখান:

> db.demo398.find();

আউটপুট:

{ "_id" : ObjectId("5e5e8cedfac4d418a017856c"), "details" : [ { "Name" : "Chris", "Age" : 22 } ] }

অ্যারেকে n অ্যাট্রিবিউটসহ ডকুমেন্টের ম্যাপে রূপান্তর করার কোয়ারি:

> db.demo398.aggregate([ ...    { ...       "$addFields": { ...          "details": { ...             "$arrayToObject": { ...                "$map": { ...                   "input": "$details", ...                   "as": "out", ...                   "in": { ...                      "k": "$$out.Name", ...                      "v": "$$out" ...                   } ...                } ...             } ...          } ...       } ...    } ... ])

এটি নিচের আউটপুট দেবে:

{ "_id" : ObjectId("5e5e8cedfac4d418a017856c"), "details" : { "Chris" : { "Name" : "Chris", "Age" : 22 } } }

  1. MongoDB-তে এমবেডেড ডকুমেন্ট অ্যারে কোয়েরি করে নতুন এলিমেন্ট যোগ করা ($push + $nin)

  2. MongoDB-তে $elemMatch এবং $and দিয়ে অ্যারে ফিল্ডে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা

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

  4. MongoDB-এ bulkWrite() দিয়ে এক কোয়েরিতে একাধিক ডকুমেন্ট আপডেট করা