mongodb本机updateMany和mongoose updateMany之间的区别

时间:2019-04-05 02:21:51

标签: javascript node.js mongodb mongoose

我正在尝试更新数据库集合“ verifications”上的所有记录,其中包含一个名为“ documents”(数组)的子文档。我想删除所有带有step.length === 0的文档。

使用Mongodb updateMany本机方法有效:

async (next) => {
  try {
    await Verification.collection.updateMany({}, {
      $pull: { documents: { steps: { $size: 0 } } },
    });
    return next();
  } catch (err) {
    log.warn('Cannot migrate verifications');
    log.warn(err);
    return next(err);
  }
};

但是当尝试Mongoose updateMany时不起作用:

async (next) => {
  try {
    await Verification.updateMany({}, {
      $pull: { documents: { steps: { $size: 0 } } },
    });
    return next();
  } catch (err) {
    log.warn('Cannot migrate verifications');
    log.warn(err);
    return next(err);
  }
};

我不知道为什么会这样。

0 个答案:

没有答案