我在我的Node.js进程中看到了这个未捕获的异常:
Uncaught exception: { Error: read ETIMEDOUT
at TCP.onStreamRead (internal/stream_base_commons.js:162:27)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: { isGetMore: true } }
我尝试使用以下工具捕获/陷印它:
import * as mdb from 'mongodb'
const d = new mdb.MongoClient(...);
d.on('error', () => {...}); // trap it here
但这似乎并不能捕获错误。有人知道我怎么做吗?
4条答案
按热度按时间ndh0cuux1#
在使用MongoDB驱动程序时,有两种不同类型的连接错误:
1.初始连接期间出错
1.建立初始连接后出现错误
“error”事件用于处理(2)。看起来您正在寻找正确的方法来处理初始连接错误。对于这些错误,您应该传递一个回调到
connect()
或connect()
返回的承诺.catch()
。l5tcr1uw2#
客户端不发出事件。数据库发出事件。使用
client.db(dbName)
获取access to the dbsd2nnvve3#
您可以尝试使用d.connect:
v6ylcynt4#
用monk来解决这个问题。一年前我也遇到过同样的问题,但是monk救了我。
以下是一个示例