尝试使用sequelize

时间:2016-06-07 15:13:48

标签: node.js postgresql sequelize.js

我的表中有一个新创建的列,我需要在我的一个服务器控制器中查询。此列中的此数据将为JSON类型,并命名为“meta”。完成后它将看起来像这样

{
  "audit": {"date": 1465311598315, "user": 20191932891}
}

目前,此表中的所有条目都具有空值JSON列,其值为NULL。

在我的一个服务器控制器中,我需要获取meta为null或meta.audit.date超过90天的所有条目。我的查询看起来像这样

  db.Question.findAll({
  where: {
    status: 'active',
    PassageId: {
      $eq: null
    },
    meta: {
      audit: {
        date: {
          $or: {
            $lte: threeMonthsAgo,
            $eq: null
          }
        }
      }
    }
  }
});

在这种情况下,三个月前是三个月前的数字。

没有返回任何结果,我在控制台中收到此错误:

Unhandled rejection SequelizeDatabaseError: operator does not exist: text <= bigint

1 个答案:

答案 0 :(得分:2)

原来我没有正确使用$或运算符

db.Question.findAll({
  where: {
    status: 'active',
    PassageId: {
      $eq: null
    },
    {
      $or: [{
        'meta.audit.date': {
          $eq: null
        }
      }, {
        'meta.audit.date': {
          $lte: threeMonthsAgo
        }
      }]
    }

  }
});