¿Cómo actualizar el valor de un documento incrustado específico, dentro de una matriz, de un documento específico en MongoDB?
Tengo la siguiente estructura en mi documento:
{
_id : ObjectId("43jh4j343j4j"),
array : [
{
_arrayId : ObjectId("dsd87dsa9d87s9d7"),
someField : "something",
someField2 : "something2"
},
{
_arrayId : ObjectId("sds9a0d9da0d9sa0"),
someField : "somethingElse",
someField2 : "somethingElse2"
}
]
}
Quiero actualizar someField y someField2 pero solo para uno de los elementos de la matriz, el que coincide con _arrayId (p.ej._arrayId : ObjectId("dsd87dsa9d87s9d7")
; y solo para este documento (por ejemplo,_id : ObjectId("43jh4j343j4j")
) y ninguna otra.
Los arrayIds no son exclusivos del documento, por eso necesito que sea para un documento específico. Podría usar la$ positional operator
si quisiera actualizar ese valor dentro de la matriz para cada documento en el que existe, pero eso no es lo que quiero.
Estoy tratando de lograr esto enJav pero una solución de línea de comando también funcionaría.