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

MongoDB - Mettre à jour ou insérer un objet dans le tableau

Essayez ceci

db.collection.update(
    { _id : ObjectId("57315ba4846dd82425ca2408")},
    { $pull: {"myarray.userId": ObjectId("570ca5e48dbe673802c2d035")}}
)
db.collection.update(
    { _id : ObjectId("57315ba4846dd82425ca2408")},
    { $push: {"myarray": {
        userId:ObjectId("570ca5e48dbe673802c2d035"),
        point: 10
    }}
)

Explication :dans la première instruction $pull supprime l'élément avec userId= ObjectId("570ca5e48dbe673802c2d035") à partir du tableau sur le document où _id = ObjectId("57315ba4846dd82425ca2408")

Dans le second $push insère cet objet { userId:ObjectId("570ca5e48dbe673802c2d035"), point: 10 } dans le même tableau.