是否应将一个Mongoose连接用于所有请求?还是每个请求有不同的连接?

时间:2018-12-27 08:52:28

标签: node.js mongodb mongoose

我来自SQL数据库,我想知道与MongoDB的单/多连接与SQL数据库是否有任何区别。

使用任何一种方法都存在性能或安全性问题吗?

1 个答案:

答案 0 :(得分:1)

从代码角度来说,仅连接一次到数据库就没有问题。但是,您可以做的是通过在连接期间指定poolSize来增加猫鼬保持打开状态的套接字/连接的数量。参见此处mongoose connection doc。默认值为5。例如,如果您有一些慢查询阻止了许多快速查询,那么这确实有意义。同样,有时创建多个数据库连接以将包/模型彼此分开是有意义的,但是您应注意不要创建任何这样的竞争条件。最后,根据您的规范,使用单个连接进行写入,并使用另一个连接从同一数据库或副本数据库/从属数据库读取数据也可以提高性能。