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

Mongoose :findOneAndUpdate ne met pas à jour un champ existant

Si vous souhaitez mettre à jour un élément dans un tableau, vous pouvez envisager le opérateur positionnel : $ et ajoutez le champ à votre requête de mise à jour.

Cela identifie un élément dans un tableau à mettre à jour en fonction d'une condition.

Exemple pour mettre à jour le tableau embarqué avec un volume champ égal à 100 et défini sur 200 :

db.getCollection("collection").findOneAndUpdate({
    id: 1,
    "data.volume": 100
}, 
    { $set: { "data.$.volume": 200 } 
});