如何正确处理MongoDB bulkwrite中的错误?

时间:2018-06-02 11:36:18

标签: javascript mongodb error-handling

我似乎无法在批量写入中找到类似的代码正确处理错误,因此我只想问我是否正确行事。

我想要做的就是只有一个try / catch,当有其他promises时,我会检查instanceof Error并将其抛入try / catch。这是正确的还是有更好/更清洁的方式来做到这一点?非常感谢。

try {
  // other logic here

  const bulkWriteResult = await new Promise((resolve, reject) => {
    try {
      Student.collection.bulkWrite(
        bulkUpdateOps,
        { ordered: true, w: 1 },
        (err, result) => {
          if (err) reject(err);
          resolve(result);
        },
      );
    } catch (err) {
      reject(err);
    }
  });

  if (bulkWriteResult instanceof Error) {
    const error = new Error('Unable to batch update students');
    error.code = 500;
    throw error;
  }
} catch (err) {
  // handle all thrown error
}          

0 个答案:

没有答案