Передача параметров в функции карты в CouchDb - PullRequest
5 голосов
/ 05 марта 2012

Интересно, могли бы мы передать переменные в качестве параметров функции карты в CouchDb.

Практически, у меня есть база данных с координатами мест, и я хочу только сопоставить / уменьшить места, которые находятся в пределах досягаемости точки.Как я мог это сделать?Я хочу что-то вроде:

function(doc, x, y, radius) {
  if (doc.x - x)^2 + (doc.y - y)^2 < radius^2 {
    emit(doc._id, doc);
  }
}

Как мы можем сделать это в CouchDb?

1 Ответ

4 голосов
/ 05 марта 2012

У вас есть 3 варианта:

  1. Используйте GeoCouch , поскольку вы выполняете геопространственные запросы
  2. Запишите отдельные индексы просмотра для каждого вашего местоположения
  3. Используйте функцию списка в представлении, которое отображает все ваши соответствующие документы (вы можете передать параметры через строку запроса в функцию списка)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...