为什么MongoDB中的读取有时会等待锁定?

时间:2011-07-13 15:08:11

标签: mongodb

使用db.currentOp()时,我有时会看到以下操作:

{
        "opid" : 1238664,
        "active" : false,
        "lockType" : "read",
        "waitingForLock" : true,
        "op" : "query",
        .....
        "desc" : "conn"
    }

为什么读取操作需要等待锁定?有没有办法告诉查询忽略任何挂起的写入,然后继续阅读?

1 个答案:

答案 0 :(得分:2)

由于mongodb索引以同步方式工作,因此无法告诉查询忽略挂起的写入。这是设计的。

例如,RavenDB中的索引可以以异步和同步方式工作。所以你可能需要ravendb(如果你在windows上);)

  

为什么MongoDB中的读取有时会等待锁定?

他们正在等待索引重建。