比较FeathersJs-Client查询中的2列

时间:2018-10-22 13:43:16

标签: sequelize.js feathersjs

我正在将Feathersjs和Sequelize一起使用。我要查询的数据为updatedAt> createdAt + 1天。

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

当然我在createdAt遇到ReferenceError。如何从客户端引用另一列?我不想修改此查询的后端。

2 个答案:

答案 0 :(得分:0)

如果要比较2列,则需要sequelize.col

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

答案 1 :(得分:0)

显然,唯一的方法是创建一个before钩子并设置一个用户定义的变量:

$ awk -F' \\| ' -v OFS=, '{k=substr($3,1,1); ks[k]; c[k,length($3)]++}
                      END {for(k in ks) print k": "c[k,6],c[k,10],c[k,15]}' file

A: 1,,
B: 1,,
a: 2,,
b: 2,,

因此您可以通过以下方式从客户端查询:

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;
  }
}