【问题标题】:Querying data in postgresql by applying filter on a JSONB column通过在 JSONB 列上应用过滤器来查询 postgresql 中的数据
【发布时间】:2018-10-10 05:49:10
【问题描述】:

我有一个有 2 列的表格; ID (int) and EntityData (JSON)。我在 C# 中以字典的形式创建了一个过滤器对象。我想获取满足过滤器中键值对数据的所有行。

示例过滤器是:

{
    "Name": "mike",
    "Location": "Lagos"
}

这应该让我获取 EntityData 名称为 mike 和位置为 Lagos 的所有行。

【问题讨论】:

    标签: postgresql npgsql cockroachdb


    【解决方案1】:

    单个查询可能如下所示:

    SELECT * FROM table WHERE json_field->>'Name' = 'mike' AND json_field->>'Location' = 'Lagos'
    

    您可以将'mike''Lagos' 替换为参数占位符(@name@location),然后对字典的所有条目重复运行此查询。为了获得最佳性能,您还可以预先准备命令,甚至可以通过将查询多次连接到同一个 CommandText 中来在一个命令中批量处理所有查询。

    See here for the full PG docs on JSON operators.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多