在写入时锁定文档,以便在MongoDB中阻止偶数读取

时间:2015-08-30 01:53:54

标签: mongodb mongodb-query pymongo

在MongoDB中更新文档时遇到一个小问题。

我有这样的文件

orders{
  orderId:Number,
  orders: Array,
  time:Date,
  .
  .
  .
}

现在,orders是一个Array,我在多个地方读取这个数组,并在几个地方更新它。但是当我更新它时,我不希望我的其他查询读取它。如何在MongoDB中实现这一目标。

我检查了官方MongoDB文档,但它很混乱,无法理解。任何其他参考或链接或解释都会有所帮助。

提前致谢。

2 个答案:

答案 0 :(得分:0)

你不需要做任何特别的事 MongoDB在单个文档上写入是原子的(在写入期间,只有之前和之后才会看到任何内容),并且写入锁定是“贪婪的”。它不允许在写入时进行任何其他读/写操作。

MongoDB Read/Write Locks

答案 1 :(得分:0)

如果您想要文档级锁定,可以启用wiredtiger存储引擎。默认情况下,MongoDB具有集合级锁定(MMAP)。