Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongo DB初始连接池是否保持打开状态?_Node.js_Mongodb - Fatal编程技术网

Node.js Mongo DB初始连接池是否保持打开状态?

Node.js Mongo DB初始连接池是否保持打开状态?,node.js,mongodb,Node.js,Mongodb,目前正在使用node.js(Native Mongodb)驱动程序使用Mongodb,我知道可以设置池连接计数,但不管观察到的行为如何 有关守则: (function init(){ db.connect("mongodb://localhost/test",function(err, database){ }); })(); 这是来自服务器的日志: Thu Dec 06 20:19:32 [initandlisten] connection accepted from 12

目前正在使用node.js(Native Mongodb)驱动程序使用Mongodb,我知道可以设置池连接计数,但不管观察到的行为如何

有关守则:

(function init(){
    db.connect("mongodb://localhost/test",function(err, database){

    });
})();
这是来自服务器的日志:

Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58663 #6
(1 connection now open)
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58664 #7
(2 connections now open)
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58665 #8
(3 connections now open)
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58666 #9
(4 connections now open)
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58667 #10
 (5 connections now open)
Thu Dec 06 20:19:36 [conn9] end connection 127.0.0.1:58666 (4 connections now op
en)
Thu Dec 06 20:19:36 [conn10] end connection 127.0.0.1:58667 (4 connections now o
pen)
Thu Dec 06 20:19:36 [conn8] end connection 127.0.0.1:58665 (4 connections now op
en)
Thu Dec 06 20:19:36 [conn6] end connection 127.0.0.1:58663 (4 connections now op
en)
Thu Dec 06 20:19:36 [conn7] end connection 127.0.0.1:58664 (4 connections now op
en)
连接显然正在关闭,但当前打开的连接计数并未减少,即使连接正确增加。预期行为


另外,请不要为mongodb使用nodejs包装器来回答问题。

这是mongodb计数器的问题。数据库正在异步关闭您的所有连接(多个关闭信号),并且速度太快,无法跟上计数器的更新。浏览MongoDB源代码后,您可以看到消息输出与计数器更新相差甚远

下面是类似的输出,但精度高达1ms,这说明问题IMO更好一些

Mon Dec  2 17:42:09.059 [conn675] end connection 127.0.0.1:65198 (9 connections now open)
Mon Dec  2 17:42:09.059 [conn676] end connection 127.0.0.1:65199 (8 connections now open)
Mon Dec  2 17:42:09.059 [conn677] end connection 127.0.0.1:65200 (8 connections now open)
Mon Dec  2 17:42:09.059 [conn678] end connection 127.0.0.1:65201 (7 connections now open)
Mon Dec  2 17:42:09.059 [conn679] end connection 127.0.0.1:65202 (6 connections now open)
Mon Dec  2 17:42:09.059 [conn680] end connection 127.0.0.1:65203 (5 connections now open)
Mon Dec  2 17:42:09.059 [conn681] end connection 127.0.0.1:65204 (4 connections now open)
Mon Dec  2 17:42:09.059 [conn682] end connection 127.0.0.1:65205 (3 connections now open)
Mon Dec  2 17:42:09.059 [conn683] end connection 127.0.0.1:65206 (2 connections now open)
Mon Dec  2 17:42:09.059 [conn684] end connection 127.0.0.1:65207 (2 connections now open)

我无法用那个代码重现这种行为。无论是终止进程还是放置
数据库.close()在回调中调用连接计数返回到0。