как написать пространственное представление Couchbase

можно я так написал?

function (doc,meta) {

emit([[doc.range1, doc.range2],[doc.range3, doc.range4]], doc.comment); 

}

я просто хочу найти данные, использующие два диапазона. Я нашел пример, который

emit([10.9, 48.4, [1000, 2000]], null);

диапазон [1000,2000] может ли он фильтровать данные?


person 胡胡博    schedule 26.08.2015    source источник


Ответы (2)


Вам поможет следующая ссылка: http://developer.couchbase.com/documentation/server/4.0/sdks/dotnet-2.2/geo-spatial-views.html

И помните, пространственная функция до версии 4.0 была экспериментальной. Для использования с Python, в моем случае, он предоставляет объект SpatialQuery.
(из импорта SpatialQuery cupbase.views.params)

person Intae Kim    schedule 05.11.2015

предположим, что у вас есть документ json, сформированный таким образом

{
  "resourceId": "3c0d9906-4e88-4b12-b96b-9d7377a503a9", 
  "_type": "com.sample.model.Position",
  "updated": 1510790620782,
  "point": {
  "coordinates": [15.704621,40.2755],
 "type": "Point"
 }
}

вы можете написать пространственное представление таким образом

function (doc) {
if (typeof doc.point !== 'undefined' && doc._type == "com.sample.model.Position") {
    var date = Date.parse(doc.updated) / 1000;
    emit(doc.point, doc.resourceId);
    }
}

вы можете использовать браузер для оформления документа: перейдите на http://localhost:8091, введите index -> меню просмотра из там вы можете протестировать представление с реальным документом из ваших данных, это создаст индекс; для запроса индекса вы можете использовать геофункции даже с отдыхом, как описано

официальная документация

Надеюсь, поможет

person Loki    schedule 16.11.2017