У меня проблема с получением правильных результатов в моей системе координат. Чтобы объяснить мою систему, у меня есть простая база данных с столбцами x_axis, y_axis и name. Мне не нужно получать все данные, мне просто нужно отобразить их часть.проблемы с двумя диапазонами ключей в couchdb
Например, у меня есть система координат, которая имеет 10:10 (значение от x_axis от -10 до 10 и от y_axis от -10 до 10), и я хочу отображать только 49 координат. В SQL запросе я могу сделать это что-то вроде этого: "выберите * от координат, где x_axis> = -3 и не X_Axis < = 3 и y_axis> = -3 y_axis < = 3"
Я попробовал эту функцию, но никакого успеха :
"by_range": {
"map": "function(doc) { emit([doc.x_axis, doc.y_axis], doc) }"
}
by_range StartKey = [- 3, -3] & EndKey = [3,3]
Я получил неправильные результаты:
-3x-3 -3x- 2 -3x-1 -3x0 -3x1 -3x2 -3x3 < - не показывать эту часть -> -3x4 -3x5 -3x6 -3x7 -3x8 -3x9 -3x10 < - конец не должен показывать эту часть -> ..... до 3x3
, чтобы дать вам лучшее понимание моего проекта здесь скриншот того, что я хочу сделать:
Hi anduk, Прежде всего, позвольте мне поблагодарить вас за ваш быстрый ответ. Я вижу вашу точку зрения, но проблема в том, что условие, которое вы делаете, не является динамическим, поскольку оно применимо только к x/y -3 к 3. Эти числа (-3 и 3) будут изменяться в зависимости от выбранной части координат. Есть ли способ передать параметр запроса в этих представлениях? поэтому он станет динамичным. что-то вроде функции (doc, req)? Еще раз спасибо! – Duasto
Я обновил свое сообщение - надеюсь, это должно решить его. – andyuk