【发布时间】:2013-12-10 17:06:49
【问题描述】:
目前使用 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)
连接显然正在关闭,但当前打开的连接计数并没有减少,即使连接正确增加。预期行为?
PS。请不要回答使用 mongodb 的 nodejs 包装器。
【问题讨论】:
-
我无法使用该代码重现此行为。无论我是终止进程还是在回调中调用
database.close();,连接计数都会回落到0。