关于ibm云:关于时间间隔查询Cloudant NoSQL数据库

 2021-04-26 

Query Cloudant NoSQL database with respect to time intervals

我正在Cloudant NoSQL数据库上工作,每15秒接收一次数据,因此每5分钟将在数据库上有20个文档。

我需要获取时间戳相差五分钟的文档,例如带有时间戳的文档:"2017-03-14 T 18:21:58"
带时间戳的文档:"2017-03-14 T 18:26:58",依此类推...

示例文档:

enter

1
2
3
4
5
function(doc) {
    if (doc && doc.timestamp) {
        emit(doc.timestamp, 1)
    }
}

您现在可以查询视图:

1
% curl 'https://USER:PASS@ACCOUNT.cloudant.com/DATABASE/_design/DDOC/view/VIEWNAME?key=TIMESTAMP&include_docs=true&limit=20'

将大写位替换为系统的相关名称和参数。

如果您需要更好的查询粒度(时间序列样式),可以从Cloudant创始人之一那里找到有关该主题的旧但有用的博客:https://cloudant.com/blog/mapreduce-from实际有用的基础/