按数据存储 API 中的范围进行过滤

2024-04-17

数据存储 API 文档位于http://docs.ckan.org/en/ckan-2.2/datastore.html http://docs.ckan.org/en/ckan-2.2/datastore.html描述“datastore_delete”或“datastore_search”等方法如何包含“filter”参数来过滤结果。

过滤器(字典) – 删除之前应用的过滤器(例如 {“name”: “弗雷德”})。如果丢失,请删除整个表和所有相关视图。 (选修的)

考虑到{"name": "fred"}例如,过滤似乎是基于精确匹配的。但是,是否也可以指定一个范围,例如得到的结果大于/小于给定值?

例如,如果我的数据存储中有一个名为“date”的字段,其记录中的值从“2014-06-12T12:03:10.052000”(最旧)到“2014-06-12T16:08:39.542000”(最新) ,例如,我如何获取早于 2014-06-12T14:00:00 或晚于 2014-06-12T15:00:00 的记录?

欢迎任何示例或文档指针。谢谢!


答案是,从 CKAN 2.2 开始,这是不可能的。 datastore_delete 和 datastore_search 操作仅采用“field = value”类型的过滤器。

对于 datastore_search 有一个替代方案:数据存储_搜索_sql http://docs.ckan.org/en/latest/maintaining/datastore.html#ckanext.datastore.logic.action.datastore_search_sql它允许您提供自己的 SQL 查询,从而实现范围搜索。 (我认为局限性在于这仅适用于公共数据集,并且需要只读数据库用户,CKAN 仅支持 Postgres 9.1+)。

有一个实验分部,1725 https://github.com/ckan/ckan/tree/1725-extend-datastore目前正在开发,它将允许插件扩展数据存储运行的 SQL 查询。这将允许插件实现新类型的过滤器,例如范围。如果您是开发人员,您可能想尝试该分支。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按数据存储 API 中的范围进行过滤 的相关文章

  • 如何用CSS取消选择?

    我想从选择中取消选择 id 项目 而不更改 HTML 或添加任何类名 假设我想在 CSS 中模拟这个 Jquery 句子 img not thisone CSS 是否可以 使用 CSS3 not 选择器 它具有等效的jQuery 选择器 h
  • 比较两个 Date 实例是否指同一天

    我有两个 java util Date 的 Java 实例 我必须查明它们是否指同一天 我可以用困难的方法来做到这一点 将日期分开并比较日期 确保年份也匹配 由于这是一个很常见的问题 我希望有一个更简单的解决方案来解决这个问题 Thanks
  • 处理innoDB死锁

    我一直在得到一个Deadlock found when trying to get lock try restarting transaction我的 InnoDB 表上出现错误 这是查询 UPDATE views SET visit cn
  • 如何解决PHP扩展“0”必须加载的问题?

    我正在尝试在我的服务器上安装 Magento 我做了一切 正如文档中所写的 我有以下错误 必须加载 PHP 扩展 0 当我尝试在浏览器中的第二页上配置 Magento 时 会发生这种情况 你知道如何解决这个问题吗 如果您安装的是 Magen

随机推荐