Bạn đang chuyển toàn bộ services
(bao gồm tất cả các trường khác) thành $set
và kết quả là bạn đang đặt lại tất cả các trường được lồng vào bên trong services
. Thử chỉ chuyển dữ liệu bạn muốn cập nhật / thêm vào tài liệu của mình bằng cách sử dụng ký hiệu dấu chấm.
$ set tài liệu
nói
db.users.update({"name":"Fabien Rousseau"},{ $set: { "services.cas" : { "external_id" : "fabien.rousseau", "version" : 2 }}})