在PostgreSQL中,可以使用JSONB类型来存储和操作JSON数据。如果想要只保留JSONB对象中存在于键数组中的属性,可以使用以下方法:
data
的JSONB列,存储了一些JSON对象。['key1', 'key2', 'key3']
。jsonb_object_keys
函数获取JSONB对象的所有键。SELECT jsonb_object_keys(data) FROM table_name;
jsonb_object_agg
函数和jsonb_exists_any
函数来过滤出存在于键数组中的属性。SELECT jsonb_object_agg(key, data->key)
FROM table_name, jsonb_object_keys(data) AS key
WHERE jsonb_exists_any(data, ARRAY['key1', 'key2', 'key3']);
上述查询将返回一个新的JSONB对象,其中只包含存在于键数组中的属性。
在腾讯云的产品中,可以使用TencentDB for PostgreSQL来存储和操作JSONB数据。TencentDB for PostgreSQL是一种高度可扩展的云数据库服务,提供了高性能、高可靠性和安全性的解决方案。您可以通过以下链接了解更多关于TencentDB for PostgreSQL的信息:
请注意,本答案没有提及其他云计算品牌商,如有需要可以自行搜索相关信息。
领取专属 10元无门槛券
手把手带您无忧上云