如何处理错误,只允许一种恢复选项,却发现了多种?

时间:2019-02-05 22:14:51

标签: node.js mongodb

我正在使用复制的MongoDB数据库,并收听我的应用程序中的更改流。我使用以下代码对此进行设置并收听测试表:

const url = 'mongodb://localhost:27017/?replicaSet=rs'
let client = new MongoClient(url, {
  keepAlive: true,
  connectTimeoutMS: 60000,    
  socketTimeoutMS: 60000, 
 })
try {
  let dbclient = await client.connect()
  console.log(dbclient)
  const db = dbclient.db('test')
  const collection = db.collection('accounts')
  const changeStream = collection.watch(pipeline)
  changeStream.on('change', function(change) {
    console.log('changed', change)
  })
} catch (err) {
  console.log('mongo err:', err)
}

但是偶尔我会收到以下错误消息:

  

未捕获的MongoError:只允许一种恢复选项,但是发现了多种。

在应用程序闲置了一段时间后,在过去3天中已经发生过两次。我不知道有什么方法可以复制它。

除了this JIRA issue之外,我没有找到关于此错误的任何信息,我不确定这是否与我的问题有相同的根本原因。我正在使用npm上可用的最新版本的mongodb。

如何捕获此错误并正确处理?

0 个答案:

没有答案