-1

Mongo 文档讨论产生锁的查询以避免阻塞其他操作。Mongo 是否会产生从读取到写入的锁来改变读取结果?

假设我有文档{x:1}, {x:2}, {x:2}, {x:1}并且正在阅读find({x:2})。假设第四个文档不在工作集中,所以 Mongo 页面错误,将update({x:1}, {x:2}, {multi: true})锁交给find. 该查找现在将包括第四个文档,但省略了第一个文档。Monogo 是这样工作的吗?

4

1 回答 1

2

在 MongoDB 中,不能保证查询隔离 - 事实上,跨多个文档,不能保证您查看的是同一时间点。

你所描述的绝对可能发生,它确实发生了。批量获取大量文档的多文档查询也是如此(当您使用游标时)。当您为下一批发出 getmore 时,不能保证数据的状态与您获得上一批结果时相同。

于 2014-01-07T19:09:06.167 回答