Tôi có cấu trúc sau đây trong tài liệu của tôi:Làm thế nào để cập nhật giá trị của tài liệu nhúng cụ thể, bên trong một mảng, của một tài liệu cụ thể trong MongoDB?
{
_id : ObjectId("43jh4j343j4j"),
array : [
{
_arrayId : ObjectId("dsd87dsa9d87s9d7"),
someField : "something",
someField2 : "something2"
},
{
_arrayId : ObjectId("sds9a0d9da0d9sa0"),
someField : "somethingElse",
someField2 : "somethingElse2"
}
]
}
Tôi muốn cập nhật someField và someField2 nhưng chỉ cho một trong các mục trong mảng, một trong đó phù hợp với _arrayId (ví dụ _arrayId : ObjectId("dsd87dsa9d87s9d7")
và chỉ cho tài liệu này (ví dụ: _id : ObjectId("43jh4j343j4j")
) và không có tài liệu nào khác.
arrayIds không phải là duy nhất cho tài liệu đó là lý do tôi cần nó cho một tài liệu cụ thể ument. Tôi có thể sử dụng $ positional operator
nếu tôi muốn cập nhật giá trị đó trong mảng cho mọi tài liệu tồn tại, nhưng đó không phải là những gì tôi muốn.
Tôi đang cố gắng thực hiện điều này trong java nhưng giải pháp dòng lệnh cũng hoạt động.
Các công trình lớn! Cảm ơn. Vì vậy, truy vấn trong 'coll.update (truy vấn, dữ liệu)' hoạt động giống như một bộ lọc để tìm tài liệu bạn đang tìm kiếm, và làm bộ chọn cho phần tài liệu mà bạn quan tâm? – rjgonzo
có chính xác .. vui mừng nó đã giúp .. – RameshVel