Я пытаюсь создать пользовательские виды на couchBase из Node.js. Вот код, у меня естьКак установить входную переменную как ключ в json при создании представления в couchBase
app.post("/todo/:id", function(req, res){
console.log("hey" + req.body.userId)
baseview.setDesign('design_users', {
"$req.body.userId": {
'map': "function (doc, meta) { if(doc.toUserName == req.body.userId) {emit(doc.status, doc.title);}}"
}
},
function(err, result){
if (err != null) console.log(err);
else res.send(result)
}
);
})
Исполняя следующий завиток
curl -H "Content-Type: application/json" -X POST -d '{"userId": "uidam231"}' http://localhost:3000/todo/id
Хотя design_users документ дизайн создан на couchBase, ожидаемый вид (uidam231) нет. На консоли нет ошибок.
Я подозреваю, что назначение переменной req.body.userId в json, вероятно, является причиной. Обратите внимание, что имя представления («$ req.body.userId»:) и критерии фильтра (doc.toUserName == req.body.userId) нуждаются в переданной переменной.
Любые предложения, пожалуйста?
Привет @avsej: Я понимаю эту часть. То, что я пытаюсь достичь, это, скажем, при регистрации нового пользователя, я хотел бы добавить (пользовательский) вид (ы) к couchBase. Думаю, я мог бы также запустить скрипт для добавления просмотров на основе каждого пользователя. По сути, это не запрос. Просто представление, где функция карты проверяет определенное значение, например, число или строку. Только то, что вид вставлен (только один раз для каждого нового зарегистрированного пользователя) из Node.js – user1384205
В этом случае вы должны подставить имя пользователя как литерал в 'function() вместо' req.body.userId', а также в просмотреть имя. Но вы должны иметь в виду, что вы не можете обновлять/добавлять только один вид, вам приходится каждый раз перезаписывать весь проектный документ. Может, N1QL решит вашу проблему? – avsej
У NiQL, по-видимому, более высокая латентность над представлениями. Различия, которые я планирую смягчить с помощью couchbase lite на клиенте. Я все еще не могу понять, переходя к буквальной части в вышеупомянутой проблеме. – user1384205