关于错误事件的MongoClient

时间:2016-11-23 17:10:45

标签: node.js mongodb

我正在使用Node / Mongo并希望捕获所有MongoErrors,以便我可以将其转换为另一种错误格式。我希望在基层做到这一点,但无法弄明白。

这是我的连接设置:

let connection = false

// Create a Mongo connection
export function getConnection () {
  if (!connection) {
    connection = MongoClient.connect(config.db.mongo.uri, {
      promiseLibrary: Promise //Bluebird
    })
  }

  return connection
}

// Fetch a connection for a collection
export function getCollection (collection) {
  return getConnection().then(c =>
     c.collection(collection)
  )
}

我已尝试将on('error')添加到connectionMongoClient以及MongoClient.Db,但他们没有这种方法。我还在catch添加了getCollection块,但错误似乎没有出现(我正在使用MongoError 11000测试重复字段。

它似乎可以是done,但还没有想到它。这可能是因为我使用的是承诺。

1 个答案:

答案 0 :(得分:0)

此代码段为我们做到了。我怀疑您还需要传递处理“错误”事件的函数。希望它对以后遇到这个问题的人有所帮助。

class UserTransformer extends TransformerAbstract {

  public function transform(User $user) {

      print_r($user);die;

}