Couchdb 从节目/列表中抛出404

Couchdb 从节目/列表中抛出404,couchdb,Couchdb,我这样查询视图: /db/_design/myviewname/_view/foo?key=%22ABC123%22 结果如下: { total_rows: 3, offset: 3, rows: [ ] } 一切都好 因为找不到任何文件,我想从节目或列表中抛出一个404 这可能吗?根据,您可以通过显示/列表功能发出重定向响应。因此,也可以发送任意HTTP状态代码。(如404) 我不确定404是否是这里的正确选择。这真的意味着找不到 从W3 HTTP/1.1: 服务器未找到任何与请求U

我这样查询视图:

/db/_design/myviewname/_view/foo?key=%22ABC123%22
结果如下:

{
 total_rows: 3,
 offset: 3,
 rows: [ ]
}
一切都好

因为找不到任何文件,我想从节目或列表中抛出一个404

这可能吗?

根据,您可以通过显示/列表功能发出重定向响应。因此,也可以发送任意HTTP状态代码。(如404)

我不确定404是否是这里的正确选择。这真的意味着找不到

从W3 HTTP/1.1:

服务器未找到任何与请求URI匹配的内容。没有说明该情况是暂时的还是永久的。如果服务器通过一些内部可配置的机制知道旧资源永久不可用且没有转发地址,则应使用410(Gone)状态代码。当服务器不希望确切地揭示请求被拒绝的原因,或者当没有其他响应适用时,通常使用此状态代码

我认为还有一个更合适的响应状态代码。204没有听起来更像你真正想告诉客户的内容

服务器已完成请求,但不需要返回实体主体,并且可能希望返回更新的元信息。响应可能包括实体头形式的新的或更新的元信息,如果存在,则应与请求的变量相关联

如果客户端是用户代理,则不应更改导致发送请求的文档视图。此响应的主要目的是允许在不更改用户代理的活动文档视图的情况下输入操作,尽管任何新的或更新的元信息都应应用于当前用户代理的活动视图中的文档

204响应不能包括消息体,因此总是由头字段后的第一个空行终止

现在,要设置自定义响应头,只需在传递给start函数的对象中指定它,如下所示

功能(头部,需求){
返回{“代码”:204};
}

我无法使返回变量正常工作。Chrome表示错误编码无效。curl:“curl:(56)在chunky解析器中收到问题2”。可能使用
返回
,您还需要指定
主体
。(即使它只是一个
null
)这会改变什么吗?如果coach>0.10不再支持它,您可能需要更新答案。
function (head, req) {
    start({ code: 404 });
}