MongoDB-এ সরাসরি কালেকশন কপি করার কমান্ড নেই। তবে forEach() এবং getSiblingDB() ব্যবহার করে কপি করা যায়।
কনসেপ্ট:
db.yourCollectionName.find().forEach(function(yourVariableName) {
db.getSiblingDB('yourDestinationDatabase')['yourCollectionName'].insert(yourVariableName);
});
বাস্তব উদাহরণ: test ডাটাবেস থেকে sample ডাটাবেসে কপি
১. test ডাটাবেসে ডেটা তৈরি:
> use test
> db.copyThisCollectionToSampleDatabaseDemo.insertOne({"User_Id": 101, "UserName": "Larry"});
> db.copyThisCollectionToSampleDatabaseDemo.insertOne({"User_Id": 102, "UserName": "Maxwell"});
> db.copyThisCollectionToSampleDatabaseDemo.insertOne({"User_Id": 103, "UserName": "Robert"});
২. sample ডাটাবেসে কালেকশন নেই তা নিশ্চিত করুন।
৩. কপি করার কোয়েরি:
> use test
> db.copyThisCollectionToSampleDatabaseDemo.find().forEach(function(send) {
db.getSiblingDB('sample')['copyThisCollectionToSampleDatabaseDemo'].insert(send);
});
৪. sample ডাটাবেসে কালেকশন আসছে তা যাচাই করুন।
বড় ডেটাসেটের জন্য mongoexport/mongoimport বা mongodump/mongorestore দ্রুততর।