我正在小型Web服务器中使用“ mongodb” NPM模块。
我想知道是否应该始终在每个打到服务器的请求上调用db.collection(''),还是应该在建立db连接后初始化一个(单个)集合,并将相同的集合用于所有请求?
特别是因为在初始化过程中手头有一个集合,因此要设置一个唯一索引,因此很容易保留该集合引用并在所有http请求处理程序中重新使用它。
我是否会遇到尴尬的并发问题,例如,如果几乎同时在同一请求实例上运行多个请求?
答案 0 :(得分:1)
没关系,使用较容易的那个。
MongoDB中的集合是延迟创建的,因此db.collection(...)
本身并不会真正地做任何事情,仅当您将其用于某些事情(例如查询,插入,createIndex等)时。因此,对每个请求进行处理都不是一件昂贵的事情。
MongoDB javascript客户端API并发请求没有任何问题,即使使用相同的集合对象也是如此;它是专门为这种情况而设计的。
我倾向于使用单个集合,因为它的工作量要少一些。