Ho la seguente struttura nel mio documento:Come aggiornare il valore di un documento incorporato specifico, all'interno di un array, di un documento specifico in MongoDB?
{
_id : ObjectId("43jh4j343j4j"),
array : [
{
_arrayId : ObjectId("dsd87dsa9d87s9d7"),
someField : "something",
someField2 : "something2"
},
{
_arrayId : ObjectId("sds9a0d9da0d9sa0"),
someField : "somethingElse",
someField2 : "somethingElse2"
}
]
}
voglio aggiornare SomeField e someField2 ma solo per uno degli elementi della serie, quello che corrisponde _arrayId (ad esempio _arrayId : ObjectId("dsd87dsa9d87s9d7")
, e solo per questo documento (ad esempio _id : ObjectId("43jh4j343j4j")
) e nessun altro
I arrayIds non sono univoci al documento è per questo che ho bisogno di essere per un documento specifico. ument. Potrei usare lo $ positional operator
se volessi aggiornare quel valore all'interno della matrice per ogni documento in cui esiste, ma non è quello che voglio.
Sto cercando di farlo in java ma una soluzione da riga di comando potrebbe funzionare.
funziona benissimo! Grazie. Quindi la query in 'coll.update (query, data)' funziona come un filtro per trovare il documento che stai cercando e come selettore per la parte del documento che ti interessa? – rjgonzo
sì esattamente .. contento che abbia aiutato .. – RameshVel