节点 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”