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

ฉันจะแทรกบันทึกจากฐานข้อมูล Mongo หนึ่งไปยังอีกฐานข้อมูลหนึ่งได้อย่างไร


คุณสามารถสลับจากฐานข้อมูลหนึ่งไปอีกฐานข้อมูลหนึ่งโดยใช้คำสั่ง use ที่นี่ เราใช้คอลเล็กชันในฐานข้อมูล "ทดสอบ" ให้เราแทรกคอลเลกชันนั้นในฐานข้อมูลอื่นด้วยชื่อ “ตัวอย่าง”

เพื่อให้เข้าใจมากขึ้น ให้เราสร้างคอลเลกชันพร้อมกับเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -

> db.insertOneRecordDemo.insertOne({"UserName":"Larry","UserAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9534de16f542d757e2b452")
}
> db.insertOneRecordDemo.insertOne({"UserName":"Chris","UserAge":26});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9534e816f542d757e2b453")
}
> db.insertOneRecordDemo.insertOne({"UserName":"David","UserAge":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9534f116f542d757e2b454")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังต่อไปนี้ −

> db.insertOneRecordDemo.find().pretty();

ต่อไปนี้เป็นผลลัพธ์ -

{
   "_id" : ObjectId("5c9534de16f542d757e2b452"),
   "UserName" : "Larry",
   "UserAge" : 23
}
{
   "_id" : ObjectId("5c9534e816f542d757e2b453"),
   "UserName" : "Chris",
   "UserAge" : 26
}
{
   "_id" : ObjectId("5c9534f116f542d757e2b454"),
   "UserName" : "David",
   "UserAge" : 25
}

นี่คือแบบสอบถามเพื่อแทรกบันทึกจากฐานข้อมูล MongoDB หนึ่งไปยังอีกฐานข้อมูลหนึ่ง -

> var AllDocumentsFromSourceCollection = db.insertOneRecordDemo.find();
> use sample;
switched to db sample
> AllDocumentsFromSourceCollection.forEach(function(allRecords){ db.getAllRecordsFromSourceCollectionDemo.insert(allRecords) });

ตรวจสอบว่ามีการใส่บันทึกหรือไม่ แบบสอบถามมีดังต่อไปนี้ −

> db.getAllRecordsFromSourceCollectionDemo.find().pretty();

ต่อไปนี้เป็นผลลัพธ์ -

{
   "_id" : ObjectId("5c9534de16f542d757e2b452"),
   "UserName" : "Larry",
   "UserAge" : 23
}
{
   "_id" : ObjectId("5c9534e816f542d757e2b453"),
   "UserName" : "Chris",
   "UserAge" : 26
}
{
   "_id" : ObjectId("5c9534f116f542d757e2b454"),
   "UserName" : "David",
   "UserAge" : 25
}

ตอนนี้คุณสามารถตรวจสอบว่ามีชื่อคอลเลกชันหรือไม่ในฐานข้อมูลตัวอย่าง แบบสอบถามมีดังต่อไปนี้ −

> show collections;

ต่อไปนี้เป็นผลลัพธ์ -

arraySizeErrorDemo
basicInformationDemo
copyThisCollectionToSampleDatabaseDemo
deleteAllRecordsDemo
deleteDocuments
deleteDocumentsDemo
deleteSomeInformation
documentWithAParticularFieldValueDemo
employee
findListOfIdsDemo
findSubstring
getAllRecordsFromSourceCollectionDemo
getElementWithMaxIdDemo
internalArraySizeDemo
largestDocumentDemo
makingStudentInformationClone
oppositeAddToSetDemo
prettyDemo
returnOnlyUniqueValuesDemo
selectWhereInDemo
sourceCollection
studentInformation
sumOfValueDemo
truncateDemo
updateInformation
userInformation