Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Chèn bản ghi từ database MongoDB này sang database khác

Bạn có thể chuyển đổi giữa các database bằng lệnh use. Ví dụ: đang ở database test, muốn chèn collection đó vào database sample.

Bước 1: Tạo collection mẫu trong database hiện tại (test)

> 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") }

Xem dữ liệu:

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

Bước 2: Chuyển dữ liệu sang database khác

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

Bước 3: Kiểm tra kết quả

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

Kết quả:

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

Kiểm tra collection đã được tạo trong database sample:

> show collections;

Danh sách collection sẽ hiển thị getAllRecordsFromSourceCollectionDemo cùng các collection khác.

Lưu ý: Cách này sao chép toàn bộ con trỏ (cursor) dữ liệu. Với dữ liệu lớn, cân nhắc dùng mongoexport/mongoimport hoặc aggregation $out/$merge để hiệu quả hơn.