当前位置: 首页 > 知识库问答 >
问题:

MongoDB+Nodejs多次请求后数据提取失败

钱凌
2023-03-14

t[object对象]。(/home/ubuntu/node_modules/mongodb/lib/mongodb/connection/server.js:530:7)在[object object]。在[object object]发出(events.js:88:20)。(/home/ubuntu/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:104:15)在[object object]处。在socket处发出(events.js:70:17)。(/home/ubuntu/node_modules/mongodb/lib/mongodb/connection/connection.js:411:10)位于socket.emit(events.js:67:17)位于array.0(net.js:319:25)位于eventemitter._tickcallback(node.js:192:41)

每次迭代关闭数据库连接,请注意,我每次都连接到多个数据库。

重复同样的过程会产生同样的后果。

共有1个答案

燕嘉熙
2023-03-14

这通常是服务器上的ulimit问题,因为您打开了太多的连接,不过您需要查看mongod/mongos日志来确定。如果是这种情况,您将看到关于无法分配资源和/或创建新线程的错误。关于如何解决这个问题,请看下面的内容:

http://docs.mongodb.org/manual/administration/ulimit/

此外,关闭连接(取决于您正在使用的驱动程序)可能是一个非常糟糕的主意,并且可能是问题的根本原因(特别是如果您适当地设置了ulimits)。现在的大多数驱动程序,包括node,我相信都有一个连接池,可以适当地管理连接并允许重用。通过显式地关闭它们,实际上可能会导致旧的连接在短期内建立起来。

 类似资料:
  • 问题内容: 我想知道如何一次获取多个GET URL,然后将获取的JSON数据放入我的React DOM元素中。 这是我的代码: 但是,我想从服务器中获取其他JSON数据,然后使用传递到其中的所有这些JSON数据呈现我的ReactDOM。例如: 这可能吗?如果不是,将多个JSON数据提取到我的渲染ReactDOM元素中的其他解决方案是什么? 问题答案: 您可以在解决方案之前依靠Promises来执行

  • 问题内容: 我在用JavaScript抓取API挣扎。当我尝试通过获取将某些内容发布到服务器时,请求正文为空数组。但是,当我使用Postman时,它可以工作…这是我在NodeJS中的服务器代码: 这是我的客户: 问题是在服务器端,req.body为空。有人能帮我吗?谢谢 ! 问题答案: 问题是 从文档中 … 防止该方法成为HEAD,GET或POST之外的任何其他内容, 并且 阻止 标头成为 简单标

  • 当我尝试从NPM安装软件包时,我得到fetch failed错误。我设置了npm的配置:-设置strict-ssl为false-使用https://registry.npmjs.org设置注册表/-设置代理和https-proxy 当我搜索一个软件包时,注册表的get方法运行良好,但是当我尝试安装时,我得到了一个错误 在我用node 8.9.1的最新版本和NPM5.5.1升级我的节点后,我得到了这

  • 问题内容: 我已经环顾了几天,无法解决这个问题。基本上,我正在将图像上传到服务器并获得ID作为回报,问题是我无法弄清楚如何提取此ID并将其更改为准备好保存到数据库的String。 程式码 这是我得到的输出 问题答案: 您正在接收JSON;您已经使用该方法将其解码为Python结构: 您可以将其视为任何其他Python列表;内容只是一个字典,因此另一个字典键可以获取值: 当您知道上传了多少张图像时,

  • 我正在使用curl发出一个POST请求,如下所示 但在servlet中,我无法获取任何数据。 有什么建议吗?还有一种在数据内部获取数据的更好方法,如?

  • Apollo link提供了一个错误处理程序 问题:目前,我们希望在apollo调用期间过期时刷新oauth令牌,并且我们无法在中正确执行异步获取请求。 代码: <代码>初始化阿波罗客户端。js 发生的情况是: 初始图形QL查询运行并因未经授权而失败 执行的函数。 刷新令牌的promise已执行。 再次执行的函数?? 刷新令牌的promise完成。 返回初始的graph QL查询结果,其数据为 在