如何正确实现 jsonb 数组的位置?
How to correctly implement where for jsonb array?
我添加了我想要存储 ID 的 jsonb 字段。
接下来,我需要根据这个字段的内容实现一个"search"条记录。
到处,包括文档 (link),我都看到了这个运算符 - @>
。但是我没有成功使用它:
User.where.not("migration_ids @> ?", 1)
ActiveRecord::StatementInvalid (PG::UndefinedFunction: ERROR: operator does not exist: jsonb @> integer)
LINE 1: ...s".* FROM "users" WHERE NOT (migration_ids @> 1) LIMI...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
请告诉我,如何正确操作?
这应该有效
User.where.not("migration_ids @> ?", "1")
我添加了我想要存储 ID 的 jsonb 字段。
接下来,我需要根据这个字段的内容实现一个"search"条记录。
到处,包括文档 (link),我都看到了这个运算符 - @>
。但是我没有成功使用它:
User.where.not("migration_ids @> ?", 1)
ActiveRecord::StatementInvalid (PG::UndefinedFunction: ERROR: operator does not exist: jsonb @> integer)
LINE 1: ...s".* FROM "users" WHERE NOT (migration_ids @> 1) LIMI...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
请告诉我,如何正确操作?
这应该有效
User.where.not("migration_ids @> ?", "1")