MongoDB-এ সারি কপি করা
MongoDB-এ একটি সংগ্রহ থেকে অন্য সংগ্রহে ডকুমেন্ট কপি করতে aggregate পাইপলাইনের সাথে $out স্টেজ ব্যবহার করা হয়। নিচে সিনট্যাক্স দেওয়া হলো:
db.oldCollectionName.aggregate([
{ $sample: { size: 333333 }},
{ $out: "newCollectionName" }
], { allowDiskUse: true });
উদাহরণ: সোর্স সংগ্রহ তৈরি ও ডকুমেন্ট ইনসার্ট
> db.sourceCollection.insertOne({"EmployeeName":"Robert","EmployeeSalary":15000});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0397c1f5e889d7a5199506") }
> db.sourceCollection.insertOne({"EmployeeName":"David","EmployeeSalary":25000});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0397c3f5e889d7a5199507") }
> db.sourceCollection.insertOne({"EmployeeName":"Mike","EmployeeSalary":29000});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0397c4f5e889d7a5199508") }
সব ডকুমেন্ট দেখানো
> db.sourceCollection.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5e0397c1f5e889d7a5199506"),
"EmployeeName" : "Robert",
"EmployeeSalary" : 15000
}
{
"_id" : ObjectId("5e0397c3f5e889d7a5199507"),
"EmployeeName" : "David",
"EmployeeSalary" : 25000
}
{
"_id" : ObjectId("5e0397c4f5e889d7a5199508"),
"EmployeeName" : "Mike",
"EmployeeSalary" : 29000
}
নতুন সংগ্রহ তৈরি
> db.createCollection('destinationCollection');
{ "ok" : 1 }
সোর্স থেকে ডেস্টিনেশন সংগ্রহে কপি করা
> db.sourceCollection.aggregate([
{ $sample: { size: 333333 }},
{ $out: "destinationCollection" }
], { allowDiskUse: true });
নতুন সংগ্রহের ডকুমেন্ট যাচাই
> db.destinationCollection.find().pretty()
আউটপুট (নতুন সংগ্রহে কপি করা রেকর্ড):
{
"_id" : ObjectId("5e0397c4f5e889d7a5199508"),
"EmployeeName" : "Mike",
"EmployeeSalary" : 29000
}
{
"_id" : ObjectId("5e0397c3f5e889d7a5199507"),
"EmployeeName" : "David",
"EmployeeSalary" : 25000
}
{
"_id" : ObjectId("5e0397c1f5e889d7a5199506"),
"EmployeeName" : "Robert",
"EmployeeSalary" : 15000
}