Theo như tôi thấy tất cả các lệnh hoạt động trên cùng một cơ sở dữ liệu trong mongodb. Tôi muốn làm một việc như sau:Làm cách nào để chèn bản ghi từ cơ sở dữ liệu mongo này vào cơ sở dữ liệu khác?
db.mySourceCollection.find(). ForEach (function (x) {db.theDestinationCollection.save (x)});
nơi mySourceCollection
là trên liveDatabase
và theDestinationCollection
là trên testDatabase
.
Cảm ơn! Tôi biết về việc sử dụng, nhưng tôi sẽ không nghĩ đến sự bền bỉ của nhà nước trong một biến. IMHO Tôi mong đợi phương thức use() trên db để sử dụng chất lỏng, ví dụ: db.use ('sourceDb'). collectionA.do (db.use ('destDb'). – b7kich
Nó có thể xảy ra rằng cơ sở dữ liệu có các ký tự UTF-8. Khi điều này chạy qua máy khách, nếu máy khách là bản địa (ví dụ cho Ubuntu, '$ mongo --version' =>' phiên bản shell MongoDB: 1.6.3') nó có thể thiếu UTF-8 và sau đó bản sao sẽ thất bại. Nếu đây là trường hợp và bạn không muốn đặt dơ bẩn vào máy chủ của bạn để biên dịch lại một máy khách mới, bạn luôn có thể biên dịch lại thành một máy riêng biệt và thực hiện công việc này qua mạng kết nối với một máy chủ từ xa. Tuy nhiên, dữ liệu sẽ truyền từ máy chủ đến máy khách và ngược lại, vì vậy nó có thể Dù sao với một khách hàng UTF-8 từ xa, hoạt động !!! –