gpt4 book ai didi

sql - 使用 objection.js 或 knex.js 在 postgres 中的字符串列的 json 数组中查询

转载 作者:行者123 更新时间:2023-11-29 13:14:41 24 4
gpt4 key购买 nike

我的表(评论)中有一列名为 reviewers

它是通过 knex 定义的:table.json('reviewers').notNullable();

它只是一个 ID 数组:['id1', 'id2', 'idn']

我想查询表并返回出现字符串的所有行,即“id2”。

我试过:

Review.query()
.whereJsonHasAny('reviewers', 'id2')

但我一直收到错误:错误:运算符不存在:json ?|文本[]

我可以退回到 raw 但我似乎无法这样做,除非我只查询非 json 列然后使用逻辑进行过滤。

最佳答案

.whereJsonHasAny 仅用于检查对象是否具有键。看起来 objection.js 文档关于数组元素的工作是错误的(我的错)。

用于查找数组是否包含您需要使用的某些元素 https://vincit.github.io/objection.js/#wherejsonsupersetof

Review.query()
.isSuperSetOf('reviewers', ['id2'])

关于sql - 使用 objection.js 或 knex.js 在 postgres 中的字符串列的 json 数组中查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50614999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com