MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cập nhật trường với giá trị của trường khác trong tài liệu

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)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách ngăn chặn việc khôi phục trong MongoDB

  2. Cách tạo chỉ mục văn bản trong MongoDB

  3. có một cuộc gọi lại lỗi kết nối mongoose không

  4. nhiều phiên bản của Mongo DB trên cùng một máy chủ

  5. Cách bảo mật cơ sở dữ liệu nguồn mở của bạn với ClusterControl