存储在mongodb中的javascript是原子的吗?

发布于 2024-12-01 20:18:58 字数 250 浏览 0 评论 0原文

如果我从服务器调用以下存储函数: 假设bEntity插入失败。在这种情况下,添加的aEntity是否会回滚到其旧状态?

function areYouAnAtomicOperation(x)
{
db.aEntity.insert ({a:x});
db.bEntity.insert ({b:x});
db.cEntity.insert ({c:x});
}

有什么方法可以使这个函数在 mongodb 中原子化吗?

If I call the following stored-function from server:
Assume that, insertation of bEntity failed. In this situtation, does added aEntity roll back to the its old state?

function areYouAnAtomicOperation(x)
{
db.aEntity.insert ({a:x});
db.bEntity.insert ({b:x});
db.cEntity.insert ({c:x});
}

Any method, for making this function atomic in mongodb?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缱绻入梦 2024-12-08 20:18:58

不,它不是原子的。以下是原子操作的列表。

如果它真的非常重要重要,您可以手动模拟two-阶段提交语义,但请注意它确实复杂

如果事务很重要,您最好使用提供它的其他数据库(RDBMS?)。

No, it's not atomic. Here is a list of atomic operations.

If it's really really really important you can manually emulate two-phase commit semantics but be warned that it's really complicated.

If transactions are important, you better use some other database (an RDBMS?) which provides it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文