[英]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
另请注意,您可以使用dateCreated
和dateModified
表示实体创建和修改时间,例如:
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.