如何在MongoDB上放置读锁?

时间:2017-04-06 03:22:09

标签: mongodb concurrency locking database

我的应用程序需要访问Mongo数据库,如果有多个进程/线程从特定集合中读取,则会发生错误。

我需要限制一组进程从集合(或db,如果需要)读取的能力。因此,例如,如果有多个进程尝试从数据库中读取数据,则它们会按顺序读取,不是并行读取。

1 个答案:

答案 0 :(得分:1)

这可以在驱动程序级别完成。如果将连接池大小设置为1,则对数据库的所有访问都将按顺序进行。

在nodejs中,您可以将驱动程序设置为:

MongoClient.connect(url, {  
  poolSize: 1
});

来自文档:

  

poolSize,这允许您控制多少个tcp连接   并行打开。此默认值为5,但您可以设置它   你想要的高度。司机将使用循环策略   从tcp连接发送和读取。