MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je mettre à jour un document dans un tableau imbriqué

Vous avez besoin de l'opérateur filtré positionnel puisque l'opérateur de position normal ($) ne peut être utilisé que pour un seul niveau de tableaux imbriqués :

Campaign.updateOne(
     { "_id": "5e28b029a0c8263a8a56980a", "data.targetLink": "https://www.linkedin.com/in/dan-kelsall-7aa0926b/" },
     { $set: { "data.$.actions.$[action].result": 0 } },
     { arrayFilters: [ { "action.name": "Follow" } ] }
)