Как обновить значение конкретного внедренного документа внутри массива конкретного документа в MongoDB?
У меня есть следующая структура в моем документе:
{
_id : ObjectId("43jh4j343j4j"),
array : [
{
_arrayId : ObjectId("dsd87dsa9d87s9d7"),
someField : "something",
someField2 : "something2"
},
{
_arrayId : ObjectId("sds9a0d9da0d9sa0"),
someField : "somethingElse",
someField2 : "somethingElse2"
}
]
}
Я хочу обновить SomeField а также SomeField2 но только для одного из элементов в массиве, который соответствует _ArrayId (например,_arrayId : ObjectId("dsd87dsa9d87s9d7")
; и только для этого документа (например,_id : ObjectId("43jh4j343j4j")
) и никаких других.
The ArrayIds не являются уникальными для документа, поэтому он нужен для конкретного документа. Я мог бы использовать$ positional operator
если бы я хотел обновить это значение в массиве для каждого документа, в котором он существует, но это не то, что я хочу.
Я пытаюсь сделать это вДжав но решение для командной строки тоже подойдет.