【发布时间】:2018-03-08 02:15:41
【问题描述】:
我们是一群人,正在编写一个关于将传感器数据存储到 noSQL 数据库中的学士项目,我们为此选择了 couchbase。
我们希望在同一个文档中存储相当多的数据,每个传感器每天一个文档,并且我们希望每分钟都添加新的传感器数据。 但不幸的是,我们无法在不覆盖现有数据的情况下将新数据附加到现有文档中。
文档的结构是:
DocumentID: Sensor + date, ie: KitchenTemperature20180227
{
"topic": "Kitchen/Temp",
"type": "temperature",
"unit": "DegC"
"20180227130400": [
{
"data": "24"
}
],
..............
"20180227130500": [
{
"data": "25"
}
],
}
我们都是Couchbase和NOSQL数据库的新手,但是渴望学习和理解我们最好的方法应该如何实现这一目标。 我们已经尝试了UPSERT,插入和更新命令,但是它们全部覆盖现有文档或不会执行,因为该文档已经存在。如您所见,我们有一些顶级信息,如主题、类型、单位。其余的应该是每分钟传入并附加到现有文档的数据。
非常感谢您提供有关如何进行的帮助。
最好的问候,肯尼斯
【问题讨论】:
-
覆盖现有数据是什么意思?您是说您失去了以前的书面价值,还是需要每次都需要编写整个文档?
-
是的,每次我使用上述查询时,整个文档都会被覆盖。我不喜欢的一个解决方案是编写整个文档,首先从文档中提取数据并在脚本中在底部添加新数据,然后更新文档。但这不是我喜欢的解决方案。
标签: database nosql couchbase n1ql