ในการคัดลอกแถวไปยังคอลเลกชันอื่น ให้ใช้ 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 }