Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Javascript MongoDB:连接已打开错误_Javascript_Node.js_Mongodb_Database_Nosql - Fatal编程技术网

Javascript MongoDB:连接已打开错误

Javascript MongoDB:连接已打开错误,javascript,node.js,mongodb,database,nosql,Javascript,Node.js,Mongodb,Database,Nosql,我不确定我是不是在给数据库mongo打电话。现在,我打开数据库,获取集合,执行查询,关闭连接 I',mongo偶尔抛出问题:连接已打开 编辑:我所做的就是快速登录和注销几次,然后抛出这个错误,使服务器崩溃 什么会导致这个问题 非常感谢您的帮助 (我使用的是节点本机驱动程序)由于node.js是异步的,您无法确定代码是否能一次性完全执行 可能是在异步操作期间(正如所有db操作一样),node.js正在处理另一个请求,这将打开一个新连接,即使您已经打开了一个连接 你应该为整个应用打开一个连接。在每次

我不确定我是不是在给数据库mongo打电话。现在,我打开数据库,获取集合,执行查询,关闭连接

I',mongo偶尔抛出问题:
连接已打开

编辑:我所做的就是快速登录和注销几次,然后抛出这个错误,使服务器崩溃

什么会导致这个问题

非常感谢您的帮助


(我使用的是节点本机驱动程序)

由于node.js是异步的,您无法确定代码是否能一次性完全执行

可能是在异步操作期间(正如所有db操作一样),node.js正在处理另一个请求,这将打开一个新连接,即使您已经打开了一个连接


你应该为整个应用打开一个连接。在每次页面请求时连接到数据库效率太低,正如您所经历的那样,如果您没有正确地实现它,也可能会导致问题。

视情况而定。如果您希望在同一页面中发出多个请求,在页面结束之前关闭连接大多数数据库的标准做法是使用连接池。池将根据需要自动打开额外的并发连接以满足需求,并且通常会在每个打开的连接闲置一段时间后开始关闭。这将比为每个请求打开和关闭新连接更有效。不过,我不确定mongodb和node.js到底是如何实现的。也许这就是我需要的,我会研究一下。谢谢看来我应该打开它一次…可能是