Mongoose.js通过一个connect()调用创build到MongoDB的多个连接

我正通过Node.js Express应用程序通过Mongoose与MongoDB进行单一连接:

var express = require('express'); var mongoose = require('mongoose'); mongoose.connect('localhost', 'test'); 

然后定义模式,然后定义模型,最后定义从数据库中提取所有用户的控制器:

 app.get('/users', function (req, res) { return User.find(function (err, users) { if (!err) { return res.send(users); } }); }); 

这些数据库连接在应用程序启动期间打开,并且在node.js应用程序的持续时间内保持打开状态。

我困扰的是为什么我有5个连接打开? 只要closuresnode.js应用程序,所有5个连接都closures。 在这里输入图像描述

相关说明 :对于REST API服务器,最好始终打开MongoDB连接。 或者每个用户请求手动打开/closures连接更好? d

这是因为Mongoose会使用一个由您的应用程序共享的5个连接池(默认情况下)。 为了获得最佳性能,最好把它们打开。

您可以通过options参数将默认行为更改为mongoose.connect 。 例如:

 mongoose.connect('localhost', 'test', { server: { poolSize: 3 }}); // Use 3 connections