mongodb - MongoDB 将写入锁定到什么级别? (或 : what does it me

在 mongodb 文档中,它说:

Beginning with version 2.2, MongoDB implements locks on a per-database basis for most read and write operations. Some global operations, typically short lived operations involving multiple databases, still require a global “instance” wide lock. Before 2.2, there is only one “global” lock per mongod instance.



这是否意味着在我有 3 个连接到 mongodb://localhost/test 从网络上运行的不同应用程序的情况下 - 一次只能写入一个?还是只是每个连接?

IOW:是每个连接,还是在写入时整个/test 数据库被锁定?

最佳答案

它不是每个连接,而是每个 mongod .换句话说,锁将存在于到 test 的所有连接中。该服务器上的数据库。

它也是一个读/写锁,所以如果一个写正在发生,那么一个读必须等待,否则 MongoDB 怎么知道它是一个一致的读?

但是,我应该提到 MongoDB 锁与您获得的 SQL/普通事务锁非常不同,通常在平均更新之间,锁会保持大约一微秒。

关于mongodb - MongoDB 将写入锁定到什么级别? (或 : what does it mean by "per connection",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17456671/

相关文章:

MongoDB - 如何查询集合中的嵌套项?

mongodb - meteor :意外的mongo退出代码100

mongodb - 如何在 MongoDB 中组织多对多关系

linux - 让 Linux 上的 MongoDB 监听远程连接

node.js - Node.js 和 Mongoose 的管理面板

mongodb - 使用 Mongoose 找不到按 ObjectId 搜索的文档

windows - Mongodb:连接127.0.0.1:27017失败,原因:errno:100

mongodb - MongoDB 和 CouchDB 是完美的替代品吗?

mongodb - 如何查找然后聚合

mongodb - 如何在 MongoDB 中汇总总和以获得总计数?