У меня есть CouchDB, где каждый документ представляет точку на карте. Кроме того, каждый doc имеет список идентификаторов, и каждый из этих идентификаторов представляет собой цель для ссылки на карте. Интересно, можно ли создать пространственный индекс GeoCouch, где ключи представляют собой GeoJSON-представления ссылок (например, LineStrings). Я приведу пример ниже.Исключить связи между геопозициями двух доков с CouchDB + GeoCouch
Давайте предположим, что у меня есть эти 2 документа:
{
_id: "doc1",
latlng: [52.52, 13.13], // geoposition of doc1
links: ["doc2", "doc3"] // links to doc2 and doc3
}
и
{
_id: "doc2",
latlng: [53.53, 14.14], // geoposition of doc2
links: ["doc1"] // link to doc1
}
То, что я хотел бы иметь это пространственный индекс, где я могу запросить все ссылки в данной ограничительной рамки. Однако в функции карты CouchDB/GeoCouch, которая выполняется для doc1, у меня нет доступа к геопозиции doc2.
Кто-нибудь видит другой способ достижения пространственного индекса для ссылок в вышеуказанной ситуации?
Thx @vmx, на данный момент я делаю это в [couchmap] (https://github.com/andrenarchy/couchmap) точно так же, как вы предлагали. Я отправляю два запроса: один через индекс GeoCouch, чтобы получить все узлы в ограничивающей рамке с соответствующими идентификаторами ссылок. Второй запрос - это простой запрос с множественной выборкой со всеми идентификаторами из массивов ссылок. Поэтому, если это решение - лучшее, что я могу реализовать с GeoCouch, я доволен. :) – andrenarchy