在couchdb上创建过滤函数时出错

在couchdb上创建过滤函数时出错,couchdb,Couchdb,我试图按照本教程来过滤PockDB和couchdb数据库之间的复制 问题是当我试图在Fauxton webapp中创建过滤函数时。在我创建的数据库中,单击设计文档>新建文档,然后粘贴功能: { "_id": "_design/app", "filters": { "by_agent": function(doc, req) { return doc.agent === req.query.agent; }.toString(

我试图按照本教程来过滤PockDB和couchdb数据库之间的复制

问题是当我试图在Fauxton webapp中创建过滤函数时。在我创建的数据库中,单击设计文档>新建文档,然后粘贴功能:

  {
     "_id": "_design/app",
     "filters": {
       "by_agent": function(doc, req) {
         return doc.agent === req.query.agent;
       }.toString()
     }
  }
当我点击“创建文档”按钮时,它崩溃了。javascript控制台说

未捕获的语法错误:JSON中的意外标记u位于位置61 在JSON.parse()处 在t.checkDocIsValid() 在t.saveDoc()处


如何在couchDB中创建过滤函数?也许这不是程序,或者我必须在另一个数据库上创建它。提前感谢

所以您要做的是使用JavaScript代码创建一个视图。因此,Fauxton只将JSON作为文档

以下是如何从JavaScript代码段获取JSON:

//您拥有的代码片段是一个JavaScript对象
//即使它看起来像一个JSON对象,也有一个function()声明后跟一个.toString()
//通过这样做,编写函数比编写原始字符串更容易。
var javascriptObject={
“_id”:“_设计/应用程序”,
“过滤器”:{
“代理人”:职能(文件、要求){
返回doc.agent==req.query.agent;
}.toString()
}
}
info(“您应该在Fauxton编辑器中使用以下字符串:”);
log(JSON.stringify(javascriptObject))