将传感器数据附加到 Couchbase 数据库中的文档中

Append sensor data into document in Couchbase database

我们一群人正在编写一个关于将传感器数据存储到 noSQL 数据库中的单身汉项目,为此我们选择了 couchbase。

我们想在同一个文档中存储相当多的数据,每个传感器每天一个文档,并且我们想每分钟添加新的传感器数据 。 但不幸的是,我们无法在不覆盖现有数据的情况下将新数据附加到现有文档中。

文档的结构是:

DocumentID: Sensor + date, ie: KitchenTemperature20180227
{
  "topic": "Kitchen/Temp",
  "type": "temperature",
  "unit": "DegC"
  "20180227130400": [
    {
      "data": "24"
    }
  ],
..............
  "20180227130500": [
    {
      "data": "25"
    }
  ],
}

我们都是 couchbase 和 NoSql 数据库的新手,但渴望学习和理解我们应该如何以最好的方式实现它。 我们尝试过 upsert、insert 和 update 命令,但它们都会覆盖现有文档或不会执行,因为文档已经存在。如您所见,我们有一些顶级信息,例如主题、类型、单元。其余的应该是每分钟传入的数据并附加到现有文档中。

非常感谢有关如何进行的帮助。

此致,肯尼斯

在这种情况下,您可以使用子文档 API。这允许您根据 "path" 修改文档的某些部分。此图像给出了获取子文档的想法。

您也可以改变子文档。查看 Couchbase 的子文档 API 文档。在 Couchbase 博客网站 Java 和 Go 中也有一些博客文章通过示例。