当密钥不满足couchbase视图中的精确值时,响应自定义错误

当密钥不满足couchbase视图中的精确值时,响应自定义错误,couchbase,couchbase-view,Couchbase,Couchbase View,我有一份像这样的文件- { "fullUserName": "xxyz", "userFirstName": "xx", "userLastName": "xx", "primaryRole": "xy", "actualRole": "rrr", "userId": "abcd1234", "password":"c28f5c7cb675d41c7763ab0c42d", "type":"login", "channels":"*" } 和视图- function (doc

我有一份像这样的文件-

{
 "fullUserName": "xxyz",
 "userFirstName": "xx",
 "userLastName": "xx",
 "primaryRole": "xy",
 "actualRole": "rrr",
 "userId": "abcd1234",
 "password":"c28f5c7cb675d41c7763ab0c42d",
 "type":"login",
 "channels":"*"
}
和视图-

function (doc, meta) {
    if(doc.userId,doc.password,doc.type){
      emit([doc.userId,doc.password,doc.type],doc);
    }
}
当键与文档的属性匹配时,它返回文档,否则返回空的JSON-

{"total_rows":2,"rows":[
  ]
}
现在,我想在键不匹配时以JSON格式响应错误消息,例如-

{
  "Error-Code":"400",
  "Error-Msg":"user id and password does not match"
}
有没有办法,如果我走错了方向,请纠正。
提前感谢。

您不应该直接向用户公开视图查询结果,而应该对其进行解释

因此,发出一个视图请求,查看响应,并在那里执行检查的业务逻辑。例如:

“如果结果为空,则可能是因为用户未知或密码哈希与用户不匹配,因此返回特定于业务的错误消息,否则继续登录”

您无法更改服务器的行为和响应格式,而且这样做没有多大意义。这是您如何与服务器交互的API和契约。您应该在中间的层中添加自己的业务逻辑