与MongoDB $ifNull等效的Postgres JSONB(聚合)

bnlyeluc  于 2023-02-18  发布在  Go
关注(0)|答案(1)|浏览(100)

我正在使用Postgres数据库(Supabase)而不是MongoDB。抱歉,我对Postgres还比较陌生,以前只使用过MongoDB。
对于某些列,使用JSONB仍然是更可取和合理的。
是否有任何等价于MongoDB $ifNull (aggregation)的替换表达式值?

  • 在MongoDB中,$ifNull表达式计算输入表达式的空值,并返回找到的第一个非空输入表达式值,或者如果所有输入表达式都计算为空,则返回替换表达式值。*

不幸的是,我在Postgres中没有成功,在MongoDB中这真的很容易。
我在MongoDB中的代码是这样的:

$ifNull: [
    `$$proposedamendments.name_lang.${l}`,
    "$$proposedamendments.name_lang.en",
    "$$proposedamendments.name_lang.fr",
]

非常感谢所有PostgresMaven的帮助。

k10s72fa

k10s72fa1#

非常感谢@ray的提示。这段代码对我很有效

SELECT COALESCE(name_lang->>'${l}', name_lang->>'en', name_lang->>'fr') FROM "TABLE_NAME";

(${l}是从客户端动态添加的)

相关问题