как упорядочить данные в облачной базе данных NOSQL по отметке времени

Я подключил nodered к платформе Watson iot с помощью raspberry pi, теперь Watson распространяется на базу данных Cloudant NOSQL, данные упорядочиваются случайным образом. ?


person Devika shree    schedule 15.02.2017    source источник


Ответы (1)


Предполагая, что ваши документы содержат поле со значением метки времени, вы можете создать представление и запросить его (https://console.ng.bluemix.net/docs/services/Cloudant/api/creating_views.html#views-mapreduce-).

CouchDB/Cloudant возвращает результаты представления, отсортированные по ключу, определенному в определении представления. Простой пример, предполагающий, что все документы включают поле с именем 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
    
person ptitzler    schedule 15.02.2017