forEach() ব্যবহার করে কোয়েরি ফলাফল অন্য কালেকশনে কপি করা
MongoDB শেলে find() কোয়েরির ফলাফল forEach() দিয়ে ইটারেট করে অন্য কালেকশনে (temp ডাটাবেসে) ইনসার্ট করা যায়। এটি একটি সিঙ্গল কোয়েরিতে সম্ভব।
নমুনা সংগ্রহ তৈরি
> db.demo43.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e25d4b3cfb11e5c34d898e5") }
> db.demo43.insertOne({"StudentName":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e25d4b8cfb11e5c34d898e6") }
> db.demo43.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e25d4bbcfb11e5c34d898e7") }
সব ডকুমেন্ট দেখানো
> db.demo43.find();
আউটপুট:
forEach() দিয়ে অন্য কালেকশনে কপি (demo44-এ)
> db.demo43.find().forEach(function(myDocument) { db.demo44.insert(myDocument); } )কপি করা কালেকশন দেখানো:
ব্যাখ্যা: forEach() দিয়ে প্রতিটি ডকুমেন্ট demo44-এ ইনসার্ট করা হয়েছে। _id একই থাকার কারণ এটি কপি হয়েছে। MongoDB 4.2+ এ $out বা $merge স্টেজ অগ্রেশনে ব্যবহার করা ভালো।