小编tee*_*eej的帖子

Mongoose save() 不保存更改

我有一个功能齐全的 CRUD 应用程序,我正在为其构建一些附加功能。新功能允许用户更改供应商列表。他们可以添加新供应商、更新供应商和删除供应商。添加和删​​除似乎工作得很好,但更新似乎不起作用,即使它遵循我在应用程序其他地方的现有 CRUD 功能中使用的类似方法。这是我的代码:

// async function from AXIOS request
const { original, updatedVendor } = req.body;
let list = await Vendor.findOne({ id: 1 });

if (!list) return res.status(500).json({ msg: 'Vendors not found' });

let indexOfUpdate = list.vendors.findIndex(
  (element) => element.id === original.id
);

list.vendors[indexOfUpdate].id = updatedVendor.id;
list.vendors[indexOfUpdate].name = updatedVendor.name;

const updated = await list.save();
res.json(updated);
Run Code Online (Sandbox Code Playgroud)

不会save()更新数据库端的现有文档。我已经控制台记录了list.vendors对象数组确实正在更改,但save()没有进行保存。

编辑:关于使用保存方式的注释,这种格式也不起作用:

list.save().then(res.json(list));
Run Code Online (Sandbox Code Playgroud)

编辑 2:为了回答有关查看日志的问题,我无法发布完整的 console.log(list.vendors),因为它包含私人信息,但是,我可以确认当我运行时,对列表所做的更改会显示出来VendorSchema 中的以下内容:

VendorSchema.post('save', function () {
  console.log(util.inspect(this, { maxArrayLength: null …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb

1
推荐指数
1
解决办法
880
查看次数

标签 统计

javascript ×1

mongodb ×1

mongoose ×1