通过在 JSONB 列上应用过滤器来查询 postgresql 中的数据
Querying data in postgresql by applying filter on a JSONB column
我有一个包含 2 列的 table; ID (int) and EntityData (JSON)
。我在 C# 中创建了一个字典形式的过滤器对象。我想在我的过滤器中获取所有满足键值对数据的行。
示例过滤器是:
{
"Name": "mike",
"Location": "Lagos"
}
这应该会获取 EntityData 名称为 mike 且位置为 Lagos 的所有行。
单个查询可能如下所示:
SELECT * FROM table WHERE json_field->>'Name' = 'mike' AND json_field->>'Location' = 'Lagos'
您可以将 'mike'
和 'Lagos'
替换为参数占位符(@name
、@location
),然后对字典的所有条目重复运行此查询。为了获得最佳性能,您还可以预先准备命令,甚至可以通过将查询多次连接到同一个 CommandText
.
中,将所有查询批处理到一个命令中
我有一个包含 2 列的 table; ID (int) and EntityData (JSON)
。我在 C# 中创建了一个字典形式的过滤器对象。我想在我的过滤器中获取所有满足键值对数据的行。
示例过滤器是:
{
"Name": "mike",
"Location": "Lagos"
}
这应该会获取 EntityData 名称为 mike 且位置为 Lagos 的所有行。
单个查询可能如下所示:
SELECT * FROM table WHERE json_field->>'Name' = 'mike' AND json_field->>'Location' = 'Lagos'
您可以将 'mike'
和 'Lagos'
替换为参数占位符(@name
、@location
),然后对字典的所有条目重复运行此查询。为了获得最佳性能,您还可以预先准备命令,甚至可以通过将查询多次连接到同一个 CommandText
.