Ibm cloud 根据时间间隔查询Cloudant NoSQL数据库

Ibm cloud 根据时间间隔查询Cloudant NoSQL数据库,ibm-cloud,cloudant,nosql,Ibm Cloud,Cloudant,Nosql,我正在处理Cloudant NoSQL数据库,数据每15秒接收一次,因此每5分钟数据库中将有20个文档 我需要获取时间戳差异为5分钟的文档,例如,带有时间戳的文档:“2017-03-14 T 18:21:58”和 带时间戳的文件:“2017-03-14 T 18:26:58”等等 样本文件: 在时间戳上键入视图。我将您的问题解释为“让所有20个文档共享一个特定的时间戳”。如果是这种情况,您可以不解析时间戳: function(doc) { if (doc && doc.t

我正在处理Cloudant NoSQL数据库,数据每15秒接收一次,因此每5分钟数据库中将有20个文档

我需要获取时间戳差异为5分钟的文档,例如,带有时间戳的文档:
“2017-03-14 T 18:21:58”
和 带时间戳的文件:
“2017-03-14 T 18:26:58”
等等

样本文件:


在时间戳上键入视图。我将您的问题解释为“让所有20个文档共享一个特定的时间戳”。如果是这种情况,您可以不解析时间戳:

function(doc) {
    if (doc && doc.timestamp) {
        emit(doc.timestamp, 1)
    }
}
现在可以查询视图:

% curl 'https://USER:PASS@ACCOUNT.cloudant.com/DATABASE/_design/DDOC/view/VIEWNAME?key=TIMESTAMP&include_docs=true&limit=20'
将大写字母替换为系统的相关名称和参数


如果您的查询需要更精细的粒度(时间序列样式),Cloudant创始人之一的一个老而有用的博客主题是:

创建一个时间戳上的视图。我将您的问题解释为“让所有20个文档共享一个特定的时间戳”。如果是这种情况,您可以不解析时间戳:

function(doc) {
    if (doc && doc.timestamp) {
        emit(doc.timestamp, 1)
    }
}
现在可以查询视图:

% curl 'https://USER:PASS@ACCOUNT.cloudant.com/DATABASE/_design/DDOC/view/VIEWNAME?key=TIMESTAMP&include_docs=true&limit=20'
将大写字母替换为系统的相关名称和参数

如果您的查询需要更精细的粒度(时间序列样式),Cloudant创始人之一就以下主题撰写了一篇古老但有用的博客: