Trong MongoDB, làm cách nào để bạn sử dụng $set
để cập nhật giá trị lồng nhau?
Ví dụ, hãy xem xét một bộ sưu tập người với tài liệu sau:
{
_id: ObjectId("5a7e395e20a31e44e0e7e284"),
name: "foo",
address: { street: "123", town: "bar" }
}
Làm thế nào để cập nhật các street
lĩnh vực nhúng trong tài liệu address
"123"
-"Main Street"
?
Tính năng này có hoạt động ngay cả khi địa chỉ không tồn tại không? Tôi biết $ set sẽ tạo ra đường phố nếu nó không tồn tại trên địa chỉ nhưng hành vi là gì nếu các thuộc tính của tổ tiên không tồn tại? Ngoài ra, liên kết của bạn yêu cầu đăng nhập. – Tom
@Tom, cảm ơn những người đứng đầu về liên kết, tôi đã sửa nó. Để trả lời câu hỏi của bạn: nó sẽ tạo ra các thuộc tính tổ tiên cần thiết cho bạn nếu chúng không tồn tại. –
@Tom Có nó sẽ. Nó sẽ tạo toàn bộ đối tượng xuống trường bạn đang thiết lập. (Trả lời muộn, nhưng hy vọng điều này hữu ích cho những người khác ngại về câu hỏi này) – Nepoxx