我的用例是:
通过谷歌搜索和阅读文档我已经有了简单的设计文档和视图工作,但我不知道如何给它一个变量和基于它的过滤器(在这种情况下,用户名)。
我已经看过过滤器功能并在我的视图中写了这个,但它似乎并没有适应我想要做的事情(并且无论如何还没有工作,空白结果):
function (doc, req) {
if (doc.author && doc.author === req.query.author) {
return true;
}
return false;
}
我无法在线找到解决方案,因为所有网站都只关注超简单的静态示例,并完全避免这种情况。
我最接近解决方案的是每个用户拥有一个数据库,但我的应用程序还应该有一个管理视图,其中列出了每个用户的文档并与之交互。
答案 0 :(得分:2)
您无法提供观点变量。
将视图视为数据库索引:它们是基于在您的每个记录和emits()
事物上运行的一大块JS的文档中静态生成的索引。
您的示例代码看起来更像是过滤器而不是视图。您绝对应该从头到尾阅读视图指南:http://docs.couchdb.org/en/2.1.1/ddocs/views/intro.html
但基本上你正在寻找的是这样的:
function(doc) {
emit(doc.where.the.author.name.is);
}
然后,当您查询视图时,您将作者的姓名作为视图的关键字传递:
yourdb/_design/yourddoc/_view/yourview?key=authorname
这只是一个例子,请阅读上面的链接,因为视图是CouchDB的核心概念,值得理解。