MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB - Atualizar ou Inserir objeto na matriz


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

Explicação:na primeira instrução $pull remove o elemento com userId= ObjectId("570ca5e48dbe673802c2d035") da matriz no documento em que _id = ObjectId("57315ba4846dd82425ca2408")

Na segunda $push insereeste objeto { userId:ObjectId("570ca5e48dbe673802c2d035"), point: 10 } na mesma matriz.