覆盖mongoDB中的集合(涉及删除+批量保存)。如何确保将其作为交易执行?

时间:2012-08-22 13:54:49

标签: mongodb transactions

在某些情况下,我需要通过执行以下操作完全覆盖特定的MongoDB集合:

  1. db.collection.remove()
  2. db.collection.insert(doc)多次。
  3. 如果1.成功但某处2.失败怎么办? 当失败时有没有办法进行回滚? 还有其他方法吗?

1 个答案:

答案 0 :(得分:3)

如果你的收藏品没有分片,你可以:

  1. Rename原始收藏。
  2. 使用原始名称创建新集合。
  3. 填充新系列。
  4. 如果一切顺利,请删除原始集合,否则删除新集合并将原始集合重命名为原始名称。