Sequelize:按 JSONB 对象中的字段进行排序查询

2023-12-19

我正在使用 Sequelize v3.30.4。我无法通过嵌套 JSONB 对象中的字段查询订单。我正在呼叫的用户中的此栏payload其中有一个字段priority。我正在使用 postgres 方言。我想知道如何在不使用 SQL 原始查询并且不使用原始查询(如果可能的话)的情况下执行此操作。我已经尝试了所有这些评论方式,并且想要设置顺序以及您看到的其他 2 条规则:

function getUsers (id, req, res) {
  const sequelize = req.app.context.sequelize;
  const User = sequelize.model('user');
  const Post = sequelize.model('post');
  const Tag = sequelize.model('tag');

  return User.findOne({
    where: { id },
    include: [
     Post,
      Tag
    ],
    order: [
      // ['payload.priority'],
      // [sequelize.json('users.payload.priority', 'ASC')],
      // [User.payload.priority],
      // [User.payload, 'priority', 'ASC'],
      // [User, 'payload', 'priority', 'ASC'],
      // ['payload', 'priority', 'ASC'],
      // ['payload', 'priority'],
      [Post, 'rank'],
      [Tag, 'rank']
    ]
    ...
})

你可以按以下方式使用它

    function getUsers (id, req, res) {
  const sequelize = req.app.context.sequelize;
  const User = sequelize.model('user');
  const Post = sequelize.model('post');
  const Tag = sequelize.model('tag');

  return User.findOne({
    where: { id },
    include: [
     Post,
      Tag
    ],
    order: [
      ['payload.priority','asc']
    ]
})

我正在使用sequelize版本4.33.0,它对我来说工作得很好 这是合并请求的链接https://github.com/sequelize/sequelize/pull/7565/files/b5d77ecedbe96d47d053cb9f11e10cdf0f84d0ae https://github.com/sequelize/sequelize/pull/7565/files/b5d77ecedbe96d47d053cb9f11e10cdf0f84d0ae

如有任何疑问请告知,编码愉快:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sequelize:按 JSONB 对象中的字段进行排序查询 的相关文章

  • Postgres jsonb数组:查询非空交集

    假设我有一个名为的 JSONB 列value在表中t 这些 JSON 的内部是tags字段是字符串列表 我想对这些标记的 JSON blob 进行查询 foo or bar 所以假设表数据如下所示 value tags other tags
  • 使用两个日期之间的随机日期时间更新每一行

    我有一个专栏叫date created我希望每一行保存一个随机日期 日期距当前时间为 2 天 我正在运行以下查询 但它会更新具有相同随机日期的所有行 我希望每一行都是随机的并且不相同 update table set date create
  • 防止 PostgreSQL 中专有名词的词干?

    以其热情将词干标记转化为词位 http www postgresql org docs current interactive textsearch intro html PostgreSQL全文搜索引擎也减少了专有名词 例如 essais
  • 如何使用PostGIS将多边形数据转换为线段

    我在 PostgreSQL PostGIS 中有一个多边形数据表 现在我需要将此多边形数据转换为其相应的线段 谁能告诉我如何使用 PostGIS 查询进行转换 提前致谢 一般来说 将多边形转换为线可能并不简单 因为没有一对一的映射 http
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 如何 md5 所有列(无论类型如何)

    我想创建一个 sql 查询 或 plpgsql 它将 md5 所有给定的行 无论类型如何 但是 在下面 如果 1 为空 则哈希为空 UPDATE thetable SET hash md5 accountid accounttype cre
  • 如何在sequelize中使用paranoid? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我是 Sequelize 的新手 如果我想删除一个条目 我不会直接删除 我有一个单独的字段来使其处于活动状态和非活动状态 所以我希望有一个
  • 使用 postgres 和 node js 在单个语句中执行多个查询

    我需要在像这样的单个语句中执行插入和删除查询 INSERT INTO COMPANY ID NAME VALUES 1 Paul DELETE FROM COMPANY WHERE ID 12 这是我用于执行查询的 node js 代码 p
  • 使用多处理池更新 Django 模型会锁定数据库

    我使用 Jupyter Notebook 来处理我存储在 django postgres 中的数据 我这样初始化我的项目 sys path append srv gr prg os environ setdefault DJANGO SET
  • 我如何在使用sequelize的包含模型中使用限制

    我想从关注模型中获取限制为 2 的用户图像 Models const Follow connector define Follow no type Sequelize INTEGER primaryKey true autoIncremen
  • 无法为数据库添加 SSL 支持

    我正在使用 Spring 3 Hibernate 和 postgres 9 2 为了启用 SSL 数据库连接 我按照以下步骤操作 创建自签名证书 参考 http www postgresql org docs 9 2 static ssl
  • Postgresql 一张表的多个计数

    我想从表中的两列中获得这些列中值的统一计数 例如 两列是 表 报告 type place one home two school three work four cafe five friends six mall one work one
  • PostgreSQL-过滤日期范围

    我是一名 SQL 开发人员 大部分时间都花在 MSSQL 上 我正在寻找一种更好的方法来过滤 PostgreSQL 数据库中的 无时区时间戳 字段 我在用着 Where DateField gt 2010 01 01 and DateFie
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • 转义 to_tsquery 中的特殊字符

    如何转义传递给的字符串中的特殊字符to tsquery 例如 这种查询 select to tsquery AT T 生产 NOTICE text search query contains only stop words or doesn
  • 获取两行之间不同的列

    我有一张桌子company有 60 列 目标是创建一个工具来查找 比较和消除该表中的重复项 示例 我发现 2 家公司可能相同 但我需要知道这两行之间哪些值 列 不同才能继续 我认为可以逐列比较 x 60 但我寻找更简单 更通用的解决方案 就
  • 与 iexact 一起使用时,Django get_or_create 无法设置字段

    我想用name iexact with get or create尽可能避免用户输入字段的重复 我的提供者模型有一个名称字段 我在其中使用get or create 查找工作正常 但在第一次创建实例时 如下面的 p1 Timber 示例 名
  • 错误:无法访问文件“$libdir/plpython2”:没有这样的文件或目录

    我正在运行 postgresql 9 4 PostgreSQL 9 4 4 on x86 64 unknown linux gnu compiled by gcc GCC 4 1 2 20070626 Red Hat 4 1 2 14 64
  • PostgreSQL 中的日期比较

    有没有办法比较同一个表中的两个日期 如下所示 SELECT FROM mytable WHERE date 1 date 2 我正在寻找最简单的方法来作为更新语句的一部分来执行此操作 是的 你可以这么做 就那么简单 看看date timeP

随机推荐