Je veux maintenir atomicity dans ma base de données mongodb où si je mets à jour un tableau dans mon document et si elle réussit alors l'autre document serait mise à jour sinon si n'importe quel document échoue alors aucun document ne devrait être mis à jour.Maintenir l'atomicité dans mongodb
Je ne suis pas capable de comprendre comment implémenter cela en utilisant mongoClient dans mon application nodejs.
secureRoutes.post("/sendrequest", function (req, res) {
MongoClient.connect(url, function (err, db) {
if (err) throw err;
else{
db.collection('users').updateOne({_id:req.user['sub']},{$addToSet:{requested:req.body.id}},function(update1Err,update1Data){
if (updateErr) throw updateErr;
else {
db.collection('users').updateOne({_id:req.body.id},{$addToSet:{pending:req.user['sub']}});
}
});
res.send(JSON.stringify(req.body.id));
}
});
});
Donc, si la première requête échoue alors deuxième ne serait pas courir et atomicité sera maintenue mais si la première requête exécute et seconde échoue, l'atomicité ne sera pas maintenu. Aidez-moi à comprendre l'implémentation correcte.
merci
conditionnelle je parle d'effectuer des mises à jour dans deux documents différents. L'opérateur $ isolé aide lorsque plusieurs mises à jour doivent être effectuées dans un seul document. –