4

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

  1. db.collection.remove()
  2. db.collection.insert(doc)多次。

如果 1. 成功但某处 2. 失败了怎么办?失败时有没有办法回滚?还有其他方法可以解决这个问题吗?

4

1 回答 1

5

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

  1. 重命名原始集合。
  2. 使用原始名称创建一个新集合。
  3. 填充新集合。
  4. 如果一切顺利,则删除原始集合,否则删除新集合并将原始集合重命名为原始名称。
于 2012-08-22T14:22:17.847 回答