#javascript #node.js #couchdb #couchdb-nano
#javascript #node.js #couchdb #couchdb-nano
Вопрос:
Я пытаюсь передать параметры со своего веб-сайта на сервер couchdb через node.js сервер. Мне абсолютно необходимо передать {} в URL. Не строка, не пустой объект, фактические символы {}. Он используется для определения end_key
параметра в представлениях couchdb.
На данный момент мой вызов выглядит следующим образом :
let url = "/trades";
let ajax_options = {
data:{
design_name:'bla',
view_name:'blabla',
params_view:{
group_level:2,
start_key:["1",0],
end_key:["1",{}]
}
}
};
$.ajax(url,ajax_options).then((res) => { ... });
когда он проходит через NodeJs
и nano
библиотеку с
db.view(req.query.design_name, req.query.view_name, req.query.params_view)
end_key
объект в params_view
становится ["1"]
вместо ["1",{}]
того, что я хотел бы видеть.
Я проверил, что при правильном значении для end_key
представление дает мне ожидаемый результат.
Как предотвратить возникновение такого поведения?
Комментарии:
1. Если вам нужны просто символы, почему бы вам не передать их в виде строки?
2. пробовал и это, но couchdb должен получить {}, а не «{}», чтобы правильно интерпретировать end_key.
3. обходной путь для строковых ключей — просто добавить «0» в конец, и все будет сделано, но я бы предпочел иметь возможность использовать универсальное решение.
4. Другим обходным путем является использование символа
"ufff0"
, поскольку это самый высокий символ юникода.5. Спасибо, Алексис. Будет ли это работать и для numbers?