无法在 Strapi 模型中调用生命周期方法?



我有一个带有MongoDB数据库和简单Post模型的Strapi项目。除其他事项外,此模型还具有具有以下属性的slug字段:

type: string,
unique: true,
required: true

出于测试目的,我尝试通过 Strapi 的生命周期方法之一在将其提交到 DB 之前修改此字段的值:

module.exports = {
// Before saving a value.
// Fired before an `insert` or `update` query.
beforeSave: async (model) => {
// Set the password.
const newslug = model.slug + '-test';
model.slug = newslug;
},
};

但是当我在管理页面上save帖子时,该方法似乎并没有像预期的那样被触发。该帖子及其slug,在没有上面代码中显示的修改的情况下被更新到数据库。我是否误解了功能?

如果你使用的是NoSQL数据库(Mongo)

beforeSave: async (model) => {
if (model.content) {
model.wordCount = model.content.length;
}
},
beforeUpdate: async (model) => {
if (model.getUpdate().content) {
model.update({
wordCount:  model.getUpdate().content.length
});
}
},

如果您使用的是SQL(SQLite,Postgres,MySQL)

beforeSave: async (model, attrs, options) => {
if (attrs.content) {
attrs.wordCount = attrs.content.length;
}
},

相关内容

  • 没有找到相关文章

最新更新