node.js – 尝试使用sequelize查询postgres JSON数据类型

我的表中有一个新创建的列,我需要在我的一个服务器控制器中查询.此列中的此数据将为
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

最佳答案 结果我没有正确使用$或运算符

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

  }
});
点赞