![](/img/trans.png)
[英]SqlAlchemy + Postgres - query with @> ANY(ARRAY['["...]']::jsonb[])
[英]SQLALchemy: Query a single key or subset of keys of a Postgres JSONB column
我有一個包含 JSONB 列的 Postgres 表。 如何在 SQLAlchemy 中不立即加載整列的情況下查詢此列的數據?
假設 JSONB 列myjsonb
包含{'a': 1, 'b': 2, 'c': 3, ... 'z': 26}
。 我只想要'a'
的值,而不是所有 26 個值。 我如何指定一個查詢來做到這一點?
例如,
query = session.query(MyTable).options(defer('myjsonb')).join(MyTable.myjsonb['a'])
不起作用。
知道我如何只能檢索'a'
嗎? 如果鍵'a'
不存在會發生什么? 我怎樣才能加載多個鍵,比如'b'
到 ' f'
,但不是一次加載所有鍵? 謝謝!
這實際上非常簡單,您只需查詢您感興趣的鍵即可:
query = session.query(MyTable.myjsonb['a'])
如果你想要來自 json 對象的多個鍵,比如說a
和c
,你可以
query = session.query(MyTable.myjsonb['a'], MyTable.myjsonb['c'])
如果任何鍵不存在,它只會為該行返回None
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.