为什么我只能从_utils看到我的CouchDB视图?

时间:2012-03-06 03:34:22

标签: view couchdb couchapp

我跟随IBM's tutorial on CouchDB并遇到查看我的文档的问题。当我访问http://127.0.0.1:5984/_utils/database.html?contacts/_design/contacts/_view/byname#时,我可以在视图中看到我的文档。

enter image description here

但是,当我访问http://127.0.0.1:5984/contacts/_design/contacts/_view/byname(然后尝试通过db.view("contacts/byname", {...在我的应用中查看相同的数据时),我只看到null个结果作为我的键/值对。

enter image description here

我不认为这是一个安全问题;我能否在 _utils 中查看我是否登录的视图。

修改

以下是我的观点的源代码:

function(doc) {
   if (doc.name) {
      emit(doc.name, doc);
   }
}

为什么我可以在一个地方看到它但不能在另一个地方看到它?

2 个答案:

答案 0 :(得分:2)

也许你有一个丢弃文件内容的reduce函数,或者减少为null?我从你的截图中看到你没有点击“Reduce”复选框,因此你看到的只是地图函数的结果。

答案 1 :(得分:2)

正如Antonios所说,命令

couchapp generate view contacts byname

创建了一个文件views/byname/reduce.js,其中包含一个空的reduce函数。您应该删除它或使用?reduce=false查询(Futon默认添加它。)

作为旁注:在使用Futon时,您可以使用Firebug查看正在进行的查询。