gpt4 book ai didi

node.js - 在mongodb中保持原子性

转载 作者:可可西里 更新时间:2023-11-01 09:48:16 26 4
gpt4 key购买 nike

我想在我的 mongodb 数据库中保持原子性,如果我在我的文档中更新一个数组,如果它成功,那么另一个文档将被更新,否则如果任何文档失败,那么没有文档应该被更新。

我无法理解如何在我的 nodejs 应用程序中使用 mongoClient 实现这一点。

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));
}
});

});

因此,如果第一个查询失败,则第二个查询将不会运行,原子性将保持不变,但如果第一个查询执行,第二个查询失败,则原子性将不会保持。

帮助我理解正确的实现。谢谢

最佳答案

检查此链接以获取 mongodb 事务。我认为这就是您所需要的。

https://docs.mongodb.com/manual/core/write-operations-atomicity/

关于node.js - 在mongodb中保持原子性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45129744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com