0

我有大量的插入操作(每个操作 1000 个文档),并且可能在我的代码工作期间它会失败。

我可以制作某种快照或将一些标志放入数据库,如果出现问题,然后将 db 恢复为标志/快照?

4

2 回答 2

1

MongoDB 有意不包括对 ACID 事务的支持,但是您可以根据您的用例实现自己的事务语义。

对于批量插入,一个简单的方法是:

  • 在要插入的文档中包含具有唯一批次 ID 的字段
  • 使用 MongoDB批量插入方法提高效率
  • 出错时,删除失败的 batchID 中的文档(假设您希望插入全有或全无)
于 2013-05-02T13:32:34.947 回答
0

没有简单的方法可以做到这一点,比如一个简单的标志。我认为对您来说最好的选择是实施两阶段提交方法,在这里您可以看到实施它的详细说明:http: //docs.mongodb.org/manual/tutorial/perform-two-phase-commits/

问候, 莫西

于 2013-04-22T03:14:31.337 回答