MongoDB:在写入之前阅读并锁定文档

时间:2019-02-23 13:48:26

标签: database mongodb concurrency transactions

Mongo新手在这里, 我来自Firebase Cloud Firestore,如果要防止其他客户端同时读取同一文档,则应确保在执行写入之前读取文档的事务,以确保数据一致性。当您必须根据另一个文档的状态在一个文档上书写时,这特别有用。 简化示例:

database.runTransaction((tx) => {
  const exists = tx.read(doc1);
  // if another client read doc1 at this point (or at any point during 
  // the transaction execution) the transaction will fail
  if (exists) tx.write(doc2);
});

我一直在Mongo文档中寻找相同的模式,但是我没有找到任何相关的东西,只是多文档写入事务的指示(在Cloud Firestore中称为“批量写入”),但这并不能解决我的担忧。

有人有建议/澄清吗?

0 个答案:

没有答案