[英]How to find nested value in postgres JSONB using sqlalchemy?
[英]Is it possible to search a JSONB List for a value using "LIKE" and SqlAlchemy?
例如,如果我有一個 JSONB 列,它存儲為:
["oranges","apples","bananas"]
如果子字符串“app”在列表中,如何使用 LIKE 類型搜索進行檢查?
理想情況下,我希望能夠執行以下操作:
Basket['fruits'].contains_like('%app%')
這可以用 sqlalchemy 實現嗎?
使用此處純 PostgreSQL 答案的靈感,您可以創建以下條件:
from sqlalchemy import exists, func, literal_column
exists().select_from(
func.jsonb_array_elements_text(Basket['fruits']).alias('fruit')
).where(literal_column('fruit').like('%app%'))
答案提出了性能問題,並可能在特殊情況下添加索引(當您只對以某個值開頭的字符串感興趣時)。 看看這是否適用於您以及您是否遇到性能問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.