Сравните 2 столбца в запросе FeathersJs-Client - PullRequest
0 голосов
/ 22 октября 2018

Я использую Feathersjs вместе с Sequelize.Я хочу запросить данные, где updatedAt> создалAt + 1 день.

this.$feathers.service("data").find({
     query: {
         updatedAt:{
             $gt: ¿¿createdAt?? + 24*60*60*1000
         }
     }
});

Конечно, я получаю ReferenceError в созданном месте.Как я могу ссылаться на другой столбец с клиента?Я не хочу изменять бэкэнд для этого запроса.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

По-видимому, единственный способ - создать ловушку before и установить пользовательскую переменную:

function(context) {
  const { query } = context.params;
  if(query.timeSinceCreated) {
    query.updatedAt = {
      $gt: sequelize.col('createdAt') // + 1 day
    }
    // delete the special variable so it's not used in the query
    delete query.timeSinceCreated;
  }
}

, чтобы вы могли запросить у клиента этот способ:

this.$feathers.service("data").find({
   query: {
       timeSinceCreated: 24*60*60*1000
   }
});
0 голосов
/ 22 октября 2018

Если вы хотите сравнить 2 столбца, sequelize.col - это то, что вам нужно:

query: { updatedAt: { $gt: sequelize.col('createdAt') } }
...