2017-02-15 26 views
0

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

ответ

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:[email protected]$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:[email protected]$USERNAME.cloudant.com/$DATABASE/_design/$DD_NAME/_view/docs_sorted_by_date HTTP/1.1 
    
+0

Спасибо, я в состоянии это сделать. –