【问题标题】:FindAndModify Atomic QueryFindAndModify 原子查询
【发布时间】:2016-02-26 22:50:20
【问题描述】:

我已经阅读了 FIndAndModify:

http://www.mongodb.org/display/DOCS/findAndModify+Command: 此命令可用于原子地修改一个文档(最多一个)并返回它。

这意味着锁定在文档、集合、数据库级别?

我认为是文档,但在其他帖子中我已经阅读了数据库。

大。

【问题讨论】:

    标签: mongodb mongodb-.net-driver


    【解决方案1】:

    mongodb 中的读/写锁现在是全局的(数据库)。但是有feature in jira 关于每个集合的锁定。所以我希望每个集合锁定将很快在 mongodb 中完成..

    更新: MongoDB 3.2.2 使用 WiredTiger Storage 实现作为默认引擎,MongoDB 在文档级别使用默认锁定。它是在 3.0 版中引入的,但在 3.2.2 版中默认。因此 MongoDB 现在有文档级锁定 read/write lock

    【讨论】:

    • 很抱歉,但我读到 MongoDB 中的 ATOMIC 操作实际上是针对“文档”的:你确定吗?正如您所写,如果在集合“用户”上使用 FindAndModify,我将锁定集合“朋友”的查询:对吗?
    • @Dada: 是的,原子操作只针对一个文档,但是在 mongodb 中写锁仍然是全局的(参见更新)。使用原子更新几乎不可能重写某人的更改,因为你没有加载要更新的文档它。
    • 所以,collection.Update 不会锁定整个数据库。 Collection.FindAndModify 锁定数据库。对吗?
    猜你喜欢
    • 1970-01-01
    • 2012-04-30
    • 2014-08-27
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 1970-01-01
    相关资源
    最近更新 更多