我目前正在开发一个网络应用程序,我们使用可穿戴设备来监控一些重要参数。出于集成测试的目的,我使用的是fitbit。 该应用程序是用angular / javascript编写的,数据库来自cloudant。 我的问题是:如何保持数据库条目的更新?我想每隔两小时从可穿戴设备请求数据并更新当天已存在的条目,而不是创建一个新的条目以防止重复。
到目前为止,我已经想到了两件事:
我对这两种解决方案都不满意。
提前致谢
答案 0 :(得分:3)
可以在Cloudant / CouchDB中更新现有文档,但是您可以自行解决冲突。为每个样本创建一个新文档实际上是一个很好的方法,对于许多人来说,#IoT"使用Cloudant键入方案。然后,您可以使用视图来实现数据。您的文档可能如下所示:
{
"timestamp": "2016-12-01T13:25:02.000Z",
"type": "pressure",
"value": 110.0
}
然后使用发布数据的设计文档,按照
的方式function(doc) {
if (doc && doc.timestamp && doc.value && doc.type) {
var ts = Date.parse(doc.timestamp);
emit([doc.type, ts], doc.value);
}
}
此处有更多信息:https://cloudant.com/blog/introduction-to-document-conflicts-part-three/