如果我从服务器调用以下存储函数: 假设bEntity的插入失败。在这种情况下,是否将aEntity卷回到旧状态?
function areYouAnAtomicOperation(x)
{
db.aEntity.insert ({a:x});
db.bEntity.insert ({b:x});
db.cEntity.insert ({c:x});
}
任何方法,在mongodb中使这个函数成为原子?
答案 0 :(得分:1)
不,这不是原子的。以下是atomic operations。
的列表如果真的非常重要,您可以手动模拟two-phase commit语义,但要注意它确实复杂。
如果事务很重要,最好使用提供它的其他数据库(RDBMS?)。