Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

MongoDB - จะคัดลอกแถวไปยังคอลเลกชันที่สร้างขึ้นใหม่ได้อย่างไร?


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