MongoDB + Node.js:每个请求一个集合还是一个静态集合?

时间:2019-02-01 09:04:21

标签: node.js mongodb

我正在小型Web服务器中使用“ mongodb” NPM模块。

我想知道是否应该始终在每个打到服务器的请求上调用db.collection(''),还是应该在建立db连接后初始化一个(单个)集合,并将相同的集合用于所有请求?

特别是因为在初始化过程中手头有一个集合,因此要设置一个唯一索引,因此很容易保留该集合引用并在所有http请求处理程序中重新使用它。

我是否会遇到尴尬的并发问题,例如,如果几乎同时在同一请求实例上运行多个请求?

1 个答案:

答案 0 :(得分:1)

没关系,使用较容易的那个。

MongoDB中的集合是延迟创建的,因此db.collection(...)本身并不会真正地任何事情,仅当您将其用于某些事情(例如查询,插入,createIndex等)时。因此,对每个请求进行处理都不是一件昂贵的事情。

MongoDB javascript客户端API并发请求没有任何问题,即使使用相同的集合对象也是如此;它是专门为这种情况而设计的。

我倾向于使用单个集合,因为它的工作量要少一些。