繁体   English   中英

按日期查询 Orion 上下文代理

[英]Query Orion Context Broker by Dates

我试图在 Orion 0.24 中按日期间隔查询,但没有成功。

致电:

URL: http://<some-ip>:<some-port>/v2/entities?type=some-entity

给出:

[
  {
    "id": "some-id",
    "type": "some-entity",
    "coordenadas": {
      "type": "geo:point",
      "value": "43.7723705, -7.6784461"
     },
     "fecha": {
       "type": "date",
       "value": "2015-08-21T22:00:00.000Z"
     },
 },
 {
    "id": "some-id",
    "type": "some-entity",
    "coordenadas": {
       "type": "geo:point",
       "value": "43.6850207, 7.5716216"
    },
    "fecha": {
        "type": "date",
        "value": "2015-09-09T22:00:00.000Z"
    }
  }
]

然后我通过以下方式按日期间隔查询:

呼叫 1:

http://<some-ip>:<some-port>/v2/entities?type=some-entity&q=fecha==2015-08-01T22:00:00.000Z..2015-08-30T22:00:00.000Z

呼叫 2:

http://<some-ip>:<some-port>/v2/entities?type=some-entity&q=fecha==1441065601..1443657601

两个调用都以 200 代码和有效负载 [] 响应。 我还尝试了其他运算符 '>'、'<',结果相同。

编辑

我在属性 'fecha' 上尝试了 '==' 并且效果很好:

呼叫 3:

http://<some-ip>:<some-port>/v2/entities?type=some-entity&q=fecha==2015-08-21T22:00:00.000Z

文档中说我们可以存储日期,所以我正在这样做。 我应该将它们存储为数字吗?

谢谢

首先,关于文档,我想在http://telefonicaid.github.io/fiware-orion/api/v2/评论以下评论:

这是一项正在进行的工作,每天都在变化

这意味着在 NGSIv2 完成之前,文档和 Orion 实现之间主要发生一些不同步(文档用于更高级的实现)。

关于这个特定问题,范围、< 和 > 过滤器将在带有日期的 Orion 结束时起作用,但在 0.24.0 中还没有。 在 0.24.0,这些过滤器仅适用于数字,因此,作为临时解决方法,您可以将日期存储为时间戳数字(例如 2015-01-01 等于 1420070400,以下页面可能会有所帮助: http ://www.timestampgenerator.com )。

编辑:日期过滤器支持已在 Orion 0.28.0 中实现,所以从一开始你就可以做这样的查询:

GET /v2/entities?q=birthdate>2016-02-24T10:00:00.00Z
GET /v2/entities?q=birthdate==2016-02-23T10:00:00.00Z..2016-02-24T10:00:00.00Z

另请注意,您可以使用dateCreateddateModified表示实体创建和修改时间,例如:

GET /v2/entities?q=dateCreated>2016-02-24T10:00:00.00Z
GET /v2/entities?q=dateModified==2016-02-23T10:00:00.00Z..2016-02-24T10:00:00.00Z

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM