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

Cập nhật MongoDB. Cố gắng đặt một trường từ một thuộc tính của một trường khác

Hãy thử mã sau:

db.collection.find(your_querry).forEach(function(doc) {
  doc.field1 = doc.field2.length;
  db.collection.save(doc);
});

Bạn có thể sử dụng your_querry để chỉ chọn một phần của bộ sưu tập gốc thực hiện cập nhật. Nếu bạn muốn xử lý toàn bộ bộ sưu tập, hãy sử dụng your_querry = {} .

Nếu bạn muốn tất cả các hoạt động là nguyên tử, hãy sử dụng update thay vì save :

db.collection.find( your_querry, { field2: 1 } ).forEach(function(doc) {
  db.collection.update({ _id: doc._id },{ $set: { field1: doc.field2.length } } );
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose:đường dẫn lỗi xác thực là bắt buộc

  2. SailsJS &MongoDB Aggregation framework rắc rối với các truy vấn tùy chỉnh

  3. MongoDB như một dịch vụ hàng đợi?

  4. Làm cách nào để cải thiện hiệu suất của update () và save () trong MongoDB?

  5. mongo:lợi nhuận không bằng count ()