MongoDB中的时间序列数据

MongoDB中的时间序列数据,mongodb,Mongodb,我在MongoDB中存储传感器和事物的时间序列数据,我遵循更新模型方法来存储数据,下面是我存储的示例JSON JSON模型 以小时为单位的文档(以分钟和秒为单位的数据) phenomenonTime和thingsId将用作唯一键 样品 [ { "id": "58808b1819f61", "phenomenonTime": "2017-01-19T5:00:00", "observations": { "0":

我在MongoDB中存储传感器和事物的时间序列数据,我遵循更新模型方法来存储数据,下面是我存储的示例JSON

JSON模型

  • 以小时为单位的文档(以分钟和秒为单位的数据)
  • phenomenonTime和thingsId将用作唯一键
样品

[
    {
        "id": "58808b1819f61",
        "phenomenonTime": "2017-01-19T5:00:00",
        "observations": {
            "0": {
                "0": {
                    "location": {
                        "coordinates": [
                            0.0066,
                            0.0009
                        ]
                    },
                    "temperature": 20,
                    "device_id_gateway": "",
                },
                "1": {
                    "location": {
                        "coordinates": [
                            -0.0003,
                            0.0032
                        ]
                    },
                    "temperature": 16,
                    "airSpeed": ""
                }, ............. so on 
现在,对于报告,我正在尝试获取以下信息,但我没有通过这种方法获取数据的查询

  • 时间x(“2017-01-19T5:30:15”)时该传感器在哪里
  • 跟踪传感器在时间x和y之间的移动,即时间间隔“2017-01-19T5:30:15”到“2017-01-19T8:24:23”
请您帮助我了解如何获取此信息

一些相关问题

目前,我从一个网关获取多个设备的数据,但我可以有多个网关,因此在这种情况下,请建议应该是什么模型

  • 单网关-多设备
  • 多网关-单个设备
  • 多网关-多设备

要做到这一点,您可以拥有每个数据的文档(一次来自每个设备的数据)。为了回答你的问题

  • 时间x(“2017-01-19T5:30:15”)时该传感器在哪里? 您可以按时间查询

  • 跟踪传感器在时间x和y之间的移动,即时间间隔“2017-01-19T5:30:15”到“2017-01-19T8:24:23”? Mongodb具有查询时间间隔的功能,然后您可以对其进行排序

  • 设计- 忘记MYSQL吧,在mongodb中,我认为最好的模式是每一个数据请求一个文档(模式根据设备、网关而变化),您可以保留网关和设备的ID并保存在相关文档中


  • 更新时,旧数据将被删除。是吗?不是,你有机会看看吗