【发布时间】:2016-08-30 12:11:01
【问题描述】:
我有一个 cloudant 数据库,其中包含来自多个设备的度量集合。 每个设备发送许多测量值,但三个是感兴趣的:温度、纬度和经度。 由于系统的设计,每个值都是一个单独的度量(在插入时我不能轻易地加入温度、纬度和经度),并且在数据库中我有一组像这样的度量:
{
"device": "foo",
"name": "temperature",
"date": <timestamp>,
"value": <value>
},
{
"device": "foo",
"name": "latitude",
"date": <timestamp>,
"value": <value>
},
{
"device": "foo",
"name": "longitude",
"date": <timestamp>,
"value": <value>
},
所以从概念上讲,我有 3 个时间序列。 我想提取这些时间序列中的每一个的最新度量,理想情况下将它们按设备分组。
类似:
{
device1: {
"temperature": {
date: <date>,
value: <value>
},
"latitude": {
date: <date>,
value: <value>
},
"longitude": {
date: <date>,
value: <value>
}
},
"device2": {
...
}
}
我不期望这种确切的语法,这只是我期望的数据集的一个概念。
我可以将位置测量连接在一起,但问题是一样的:如何将每个设备的最后一个 ts 条目组合在一起?
【问题讨论】:
-
为了确定,last ts 代表最后一个时间戳?
-
不,我指的当然是按日期的最后一个时间序列条目(大致相同)
-
在我回答您的问题之前的最后一个问题,每个测量的“日期”条目对于一个条目中的每个值都不相同?不应该是:{“_id”:“123909012”,“设备1”:{“纬度”:“”,“经度”:“”,“温度”:“”},“设备2”:{“纬度” : "", "经度": "", "温度": "" } }
-
不,每个值的日期可能不同
标签: couchdb time-series cloudant