如何根据时间戳在cloudant NOSQL数据库中排列数据

how to arrange data in cloudant NOSQL data base according to time stamp

我已经使用 raspberry pi 将 nodered 连接到 Watson 物联网平台,现在 Watson 扩展到 Cloudant NOSQL 数据库,数据随机排列 manner.When 我从外部应用程序发送 getrequest,数据是随机的,如何根据时间戳按顺序获取数据?

假设您的文档包含一个带有时间戳值的字段,您可以创建一个视图并对其进行查询 (https://console.ng.bluemix.net/docs/services/Cloudant/api/creating_views.html#views-mapreduce-)。

CouchDB/Cloudant returns 查看按视图定义中定义的键排序的结果。简单示例,假设所有文档都包含一个名为 date_sent 的字段,表示时间戳值:

{
    ...
    "date_sent": "2017-02-09T21:37:20.731Z",
    ...
}
  • 创建视图(根据需要替换占位符$...

    PUT https://$USERNAME:$PASSWORD@$USERNAME.cloudant.com/$DATABASE/_design/$DD_NAME HTTP/1.1
    
    {
     "views" : {
       "docs_sorted_by_date" : {
        "map" : "function(doc) { emit(doc.date_sent,1);  }"
       }
     }
    }
    
  • 查询视图

    GET https://$USERNAME:$PASSWORD@$USERNAME.cloudant.com/$DATABASE/_design/$DD_NAME/_view/docs_sorted_by_date HTTP/1.1