【发布时间】:2018-06-27 04:31:31
【问题描述】:
有人可以向我解释Mongodb linearizable read concern 文档的某些部分吗:
仅当读取操作指定唯一标识单个文档的查询过滤器时,线性化读取关注保证才适用。
这是否意味着我必须在查询过滤器中显示的字段上拥有唯一索引?
例如,让我们回答 4 个问题:
-
我的集合
test在 A 字段上没有唯一索引。db.test.find({A:1}).readConcern("linearizable").maxTimeMS(10000)它是 linearizable 并且我无法读取 stale 吗?如果回答是,是否意味着没有理由在唯一索引中未显示的字段的读取中使用线性化读取关注?
-
我有集合
test在 A 字段上具有唯一索引。db.test.ensureIndex({A:1}, {unique:true}); db.test.find({A:1}).readConcern("linearizable").maxTimeMS(10000);它是 linearizable 并且我无法读取 stale 吗?
-
我有集合
test在 A 字段上具有唯一索引。db.test.ensureIndex({A:1}, {unique:true}); db.test.find({A:1, B:1}).readConcern("linearizable").maxTimeMS(10000);它是 linearizable 并且我无法读取 stale 吗?
-
我的集合
test在 A 字段上没有唯一索引。但是 find 方法在结果中只返回一个文档。db.test.find({A:1}).readConcern("linearizable").maxTimeMS(10000); //returned {_id:"someId", A:1}它是 linearizable 并且我无法读取 stale 吗?
【问题讨论】:
标签: database mongodb mongodb-query database-administration linearization