Tin tốt và xấu ở đây.
Tin xấu là bạn không thể thực hiện AFAIK với một lệnh gọi update () - mongo không hỗ trợ tham chiếu đến đối tượng hiện tại trong bản cập nhật.
Tin tốt là có nhiều cách khác để làm điều đó, ví dụ:bạn có thể chạy một vòng lặp forEach:
db.item.find(conditions...).snapshot().forEach( function (doc) {
doc.field1 = doc.field2;
db.item.save(doc);
});
Bạn có thể chạy forEach trong trình bao quản trị (lệnh 'mongo') hoặc thông qua một số phương thức của trình điều khiển cụ thể của bạn (ví dụ:trong PHP, tôi muốn nó hoạt động với mongodb.execute () như được mô tả tại đây:http:/ /www.php.net/manual/en/mongodb.execute.php)