节点 mongodb:错误:连接因 parseError 而关闭

Posted

技术标签:

【中文标题】节点 mongodb:错误:连接因 parseError 而关闭【英文标题】:Node mongodb: Error: connection closed due to parseError 【发布时间】:2013-11-02 00:24:29 【问题描述】:

使用原生 'mongodb' npm 包,我正在接收

Error: connection closed due to parseError

进行非常基本的查询时:

 collections.myCollection.findOne(id: someID, function (err, repo) 
    ...  
 )

奇怪的是,之前运行过完全相同的查询。每个查询的类型都是相同的,等等。

【问题讨论】:

【参考方案1】:

回答我自己的问题,希望能阻止下一个人扯掉他们的头发:

如此处所述,this error message is useless and doesn't relate to the actual problem。 生产版 Mongo 驱动程序会丢弃 catch 块中的所有错误

要找出实际的错误是什么:

打开你的node_modules/mongodb

找到server.js

寻找mongoReply.parseBody

登录err 以查看实际有用的信息。

就我而言:

ReferenceError: collection is not defined

编辑Node MongoDB 原生 1.4 现已稳定,并包含对此错误的修复。

【讨论】:

感谢您的光临。我会努力明智地使用它。在我的情况下(现在两次),我将其追溯到回调代码中的未处理异常。请务必在回调中处理异常,否则它们可能会被调用上下文所掩盖。【参考方案2】:

对于使用 mongoose 而不是 mongodb 的人可以在以下位置进行检查。

/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection

【讨论】:

以上是关于节点 mongodb:错误:连接因 parseError 而关闭的主要内容,如果未能解决你的问题,请参考以下文章

连接错误:我是 Mongodb 的新手,现在在创建与节点 js 的连接到 mongodb atlas 显示以下错误时,我遇到了 mongodb 的问题

无法通过节点休息应用程序上的mongoose连接到mongodb-altas,连接失败:“UnhandledPromiseRejectionWarning:错误:连接EACCES”

处理 MongoDB 从节点断开/重新连接

NodeJS的MongoDB连接错误

mongodb - 聚合因内存错误而失败

我一直在尝试将我的节点连接到 MongoDB,但我遇到了错误