Se desideri aggiornare un elemento in un array, puoi considerare operatore posizionale:$ e aggiungi il campo alla tua query di aggiornamento.
Identifica un elemento in una matrice da aggiornare in base a una condizione.
Esempio per aggiornare l'array incorporato con un volume
campo uguale a 100 e impostato a 200:
db.getCollection("collection").findOneAndUpdate({
id: 1,
"data.volume": 100
},
{ $set: { "data.$.volume": 200 }
});