Il existe un moyen de concaténer plus de mises à jour? Par exemple, je voudrais changer plus de valeurs dans le même élément. Donc, ayant ceci ...Mongodb, concattez plus de mises à jour dans une requête
{
cc: [
{ user_id: "1", hasSeen:true}
,{ user_id: "2", hasSeen:false}
,{ user_id: "3", hasSeen:false}
]
,conversation: [{
user_id: "1",
text: "message by 1, to 2and3"
}]
}
... Je voudrais pousser un nouvel objet de conversation et aussi changer toutes les valeurs hasSeen.
Pour faire le premier point, pas de problème, je pousse juste un nouvel objet de conversation. Et cela fonctionne ...
...update(
{ _id : _param.conversation_id }
,{ $push:{ conversation:{user_id:"2",text:"message by 2, to 1,3"} }}
)
.exec(function(err, numAffected, rawResponse) {
});
Mais je voudrais également changer les trois valeurs "hasSeen" dans le même temps. c'est possible? Puis-je le faire avec une requête? ou je devrais le diviser en deux requêtes?
ps: J'utilise de la mangouste.
merci Sammaye! –
@CodeGirl Une façon, si cela doit être atomique est de mettre à jour ce côté client et de pousser le document tout à la fois avec save(), cependant, cela pourrait créer des conditions de course pour vous – Sammaye