У меня есть простая CMS с Strapi с типом контента сообщение. Этот документ (тип содержимого) имеет такие поля, как заголовок, дополнительный заголовок, выдержка, текст и т. Д. Теперь я хотите иметь возможность записывать количество просмотров для каждой записи в этом документе.
Итак, я добавил к нему числовое поле под названием views со значением 0 по умолчанию. Следуя инструкциям в документации Strapi, я добавил следующий код в свою модель api (на /api/post/models/Post.js
):
beforeFetchAll: async (model) => {
model.views += 1;
},
Я понимаю, что любой фрагмент внутри метода beforeFetch
должен запускаться и выполняться перед любой fetch
операцией, что и делает запрос post
в GraphQL. Однако, несмотря на несколько выборок, значение в этом поле остается неизменным. Любой разработчик Strapi, который мог бы понять, в чем я ошибаюсь? Полный код можно найти по адресу https://github.com/amitschandillia/proost/blob/master/dev/api/post/models/Post.js.
PS: запрос, который я пытаюсь выполнить в GraphQL Playground по адресу https://dev.schandillia.com/graphql:
{
posts(limit: 1, where: {slug: "one-post"}) {
id
title
views
}
}