首页 > 解决方案 > 我将 mongoDB 的 findOneAndUpdate 与 { returnOriginal: false } 一起使用,但它不起作用

问题描述

当我使用MongoDB'sfindOneAndUpdate并且我有声明{ returnOriginal: false }但它不起作用并且当我成功更新时它返回我过时的数据我希望在更新后返回数据。我的MongoDB版本是“4.1.0”。

const update = async (id, data) => {
  try {
    const result = await getDB()
      .collection(columnCollectionName)
      .findOneAndUpdate(
        { _id: ObjectId(id) },
        { $set: data },
        { returnOriginal: false }
      );
    return result.value;
  } catch (error) {
    throw new Error(error);
  }
};

标签: mongodb

解决方案


文档说我们需要使用{new : true},但它并没有真正为我工作。对我有用的是 - {returnDocument:"after"}(另一个选项而不是“after”是“before”)


推荐阅读