说我有一个post
内容类型,其中包含以下4个字段:
title
(字符串)content
(字符串)slug
(字符串)author
(关系)如何添加第五个字段,该字段的值取决于上述4个字段之一,并且用户无法编辑?说,我想要一个wordCount
字段,并将content
字段中的单词数作为其值。我应该考虑探索哪个文件以包含此功能?
P.S .:就其价值而言,我正在使用MongoDB Atlas来满足我的数据库需求。
答案 0 :(得分:1)
您将必须在内容类型中创建wordCount
属性。
然后在左侧菜单的内容管理器链接中,您可以自定义编辑/创建页面的视图。在这里,您可以禁用或删除该页面中的字段。
之后,您将进入./api/post/models/Post.js
文件并更新以下功能。
如果您使用的是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;
}
},