Tôi đã tìm cách tạo một câu lệnh cập nhật sẽ lấy trường số hiện có và sửa đổi nó bằng một biểu thức. Ví dụ: nếu tôi có một trường được gọi là Giá, có thể thực hiện cập nhật đặt Giá thành giảm 50% giá trị hiện tại không?Nhân trường theo giá trị trong Mongodb
Vì vậy, cho { Price : 19.99 }
Tôi muốn làm db.collection.update({tag : "refurb"}, {$set {Price : Price * 0.50 }}, false, true);
này có thể được thực hiện hoặc làm tôi phải đọc giá trị lại cho khách hàng, thay đổi, sau đó cập nhật? Tôi đoán câu hỏi sau đó là biểu thức có thể được sử dụng trong bản cập nhật, và họ có thể tham khảo tài liệu đang được cập nhật hay không.
Xin lưu ý rằng trong một phiên bản sắp tới của Mongo, bạn có thể làm điều này mà không cần tất cả eval này và DB khóa gần như miễn phí . Kiểm tra và có thể chấp nhận câu trả lời mới, để các nhà phát triển mới không sử dụng thông tin lỗi thời. –