【发布时间】:2022-01-15 17:41:10
【问题描述】:
mongoose isModified function在一个挂钩中,我想在执行加密过程之前确认密码是否已更改。 Mongoose 有一个函数“isModified”,我相信 Sequelize 的“更改”函数也有同样的目的。
我无法让“更改”功能工作。我正在寻找如何使用它的示例。
【问题讨论】:
标签: node.js sequelize.js
mongoose isModified function在一个挂钩中,我想在执行加密过程之前确认密码是否已更改。 Mongoose 有一个函数“isModified”,我相信 Sequelize 的“更改”函数也有同样的目的。
我无法让“更改”功能工作。我正在寻找如何使用它的示例。
【问题讨论】:
标签: node.js sequelize.js
changed() 的工作原理在 official documentation 中有一个示例
const mdl = await MyModel.findOne();
mdl.myJsonField.a = 1;
console.log(mdl.changed()) => false
await mdl.save(); // this will not save anything
mdl.changed('myJsonField', true);
console.log(mdl.changed()) => ['myJsonField']
await mdl.save(); // will save
请记住,系统会检测顶级字段的更改,并且仅检测自上次调用 save 以来所做的更改。
【讨论】:
save 将根本不会跟踪它们。我想 Sequelize 只跟踪整个字段值的变化。对于 JSON 字段,这将替换整个对象值。