Rails ActiveRecord查询jsonb

问题描述 投票:1回答:1

试图在jsonb列中查询数据,但似乎无济于事。

数据示例:

["ERROR: Some text here -", "ERROR: There were ERRORS."]
["ERROR: already been processed"]

查询应该在第一部分是“错误:此处为某些文本-”

[C0列]数据示例:

response_errors

我正在尝试查询response_errors列中的数据,并且仅找到“ ERROR:这里的一些文本-”

这确实有效:

R1: ["ERROR: Some text here -", "ERROR: There were ERRORS."]    
R2: NULL
R3: ["ERROR: already been processed"]

这是最好的方法吗?

我以为是where("response_errors = '[\"ERROR: Some text here -\"\, \"ERROR: There were ERRORS.\"]'") ,我只能像查看数组一样查看列的第一部分,而只能找到“ Some text here”]

[尝试查询jsonb列中的数据,但似乎无济于事。数据示例:[“错误:此处有一些文本-”,“错误:存在错误。”] [“错误:已被处理”]查询应为...

activerecord ruby-on-rails-5
1个回答
0
投票

似乎您认为您在jsonb列中存储对象(键/元素),但是它们只是数组,因此您无法使用response_errors访问对象键值,因为它们不是以这种方式表示。

© www.soinside.com 2019 - 2024. All rights reserved.