ในการคัดลอกแถวไปยังคอลเลกชันอื่น ให้ใช้ MongoDB ไวยากรณ์มีดังนี้ "yourOldCollectionName" เป็นคอลเล็กชันเก่า ในขณะที่คอลเล็กชันนี้จะถูกคัดลอกเป็นคอลเล็กชันใหม่ของเรา เช่น "yourNewCollectionName" -
db.yourOldCollectionName.aggregate([{ $sample: { size: 333333 }}, {$out: "yourNewCollectionName"} ],{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")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.sourceCollection.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5e0397c1f5e889d7a5199506"),
"EmployeeName" : "Robert",
"EmployeeSalary" : 15000
}
{
"_id" : ObjectId("5e0397c3f5e889d7a5199507"),
"EmployeeName" : "David",
"EmployeeSalary" : 25000
}
{
EmployeeName" : "Mike",
"E"_id" : ObjectId("5e0397c4f5e889d7a5199508"),
"mployeeSalary" : 29000
} นี่คือแบบสอบถามเพื่อสร้างคอลเลกชันใหม่ “destinationCollection” -
> db.createCollection('destinationCollection');
{ "ok" : 1 } ต่อไปนี้เป็นแบบสอบถามเพื่อคัดลอกแถวจาก "sourceCollection" ไปยังคอลเลกชันใหม่อื่น "destinationCollection" -
> db.sourceCollection.aggregate([{ $sample: { size: 333333 }}, {$out: "destinationCollection"} ],{allowDiskUse: true}); ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.destinationCollection.find().pretty()
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ซึ่งคอลเลกชันใหม่คัดลอกบันทึกจากคอลเลกชันที่ 1 "sourceCollection" -
{
"_id" : ObjectId("5e0397c4f5e889d7a5199508"),
"EmployeeName" : "Mike",
"EmployeeSalary" : 29000
}
{
"_id" : ObjectId("5e0397c3f5e889d7a5199507"),
"EmployeeName" : "David",
"EmployeeSalary" : 25000
}
{
"_id" : ObjectId("5e0397c1f5e889d7a5199506"),
"EmployeeName" : "Robert",
"EmployeeSalary" : 15000
}