【发布时间】:2017-03-03 12:14:37
【问题描述】:
我是http://airpollution.online/ 的贡献者,这是一个开放环境 Web 平台,它构建了开源,具有 IBM Cloudant 作为它的数据库服务。
平台的架构是这样的,我们需要从集合中获取每个空气污染测量设备的最新数据。就我使用 MongoDB 的经验而言,我编写了聚合查询,以根据各个集合中可用的每个文档中的每个纪元时间键来获取每个设备的最新数据。
示例聚合查询是:
db.collection("hourly_analysis").aggregate([
{
$sort: {
"time": -1,
"Id": -1
}
}, {
$project: {
"Id": 1,
"data": 1,
"_id": 0
}
}, {
$group: {
"_id": "$Id",
"data": {
"$last": "$$ROOT"
}
}
}
如果有人对如何在 IBM Cloudant 中编写设计文档有想法/建议,请帮助我!谢谢! 附:我们仍然需要为这个项目做后端开源。 (可能需要一些时间)
【问题讨论】:
-
你能概括一下你想要做什么吗?数据是什么样的,您需要从这些数据中回答什么问题?从这个 MongoDB 示例中,我不确定您在 CouchDB 中拥有什么以及您打算检索什么。
-
你好@LornaMitchell,我想做的是有来自不同设备的 GB 数据。所以我需要挑选每台设备的最新数据。每个文档在纪元时间内都有“deviceId”和“time”。作为一个例子,你可以试试这个开放的 api,它给出了openenvironment.p.mashape.com/all/public/devices 的最新数据使用标题“X-Mashape-Key”:“AznHXmVhecmsh2eRvaAX42EKCmj3p1lRLpzjsnks0zMETqI4Mg”
标签: node.js couchdb cloudant node-red