Strapi обновляет то же приращение поля

У меня есть поле с именем count, и я хочу обновить его на определенную величину. Можно ли сделать в Strapi без предварительного получения значения поля?

Что-то вроде этого:

var myRating = 4;

strapi.query('post').update(
  { id: 6 },
  {
    rating: post.rating + myRating,
  }
);

person nick    schedule 12.09.2019    source источник


Ответы (2)


const result = await strapi
          .query("name of the table")
          .model.query((qb) => {
            qb.where("id", id);
            qb.increment("field", value);
          })

      .fetch();

Я использовал это, и это сработало.

Любой, кто занимается этим, может захотеть проверить эти

  1. https://strapi.io/documentation/3.0.0-beta.x/concepts/queries.html#custom-queries

  2. Установить значение = значение +1 в bookhelf.js

  3. Bookshelf.js - вложенные отношения при запросе с помощью andWhere ()

person anotherChowdhury    schedule 16.11.2020

По умолчанию вы не сможете сделать это с запросами, предоставляемыми Strapi. Но вы можете сделать это с помощью собственного SQL-запроса.

Вот StackOverflow вопрос, ответ на который про просьбу сделать.

Затем в Strapi вам нужно будет получить Knex для выполнения запроса.

Для этого вам нужно будет использовать strapi.connections.default. Это дает вам экземпляр Knex.

person Jim LAURIE    schedule 16.09.2019
comment
А как насчет использования баз данных NoSQL? - person matrixersp; 05.08.2020