【问题标题】:Why can I only see my CouchDB view from _utils?为什么我只能从 _utils 看到我的 CouchDB 视图?
【发布时间】:2012-03-23 13:38:58
【问题描述】:

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

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

我认为这不是安全问题;无论我是否登录,我都能在 _utils 中看到视图。

编辑

这是我的观点的源代码:

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

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

【问题讨论】:

  • 你的视图源代码是什么样的?
  • 我已经用我的源代码更新了这个问题。

标签: view couchdb couchapp


【解决方案1】:

按照 Antonios 的建议,命令

couchapp generate view contacts byname

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

附带说明:在使用 Futon 时,您可以使用 Firebug 查看正在执行的查询。

【讨论】:

  • 有没有办法在 Chrome 中也这样做,或者我应该在 Chrome 中使用 Firebug Lite?
  • @Wraith,在 Chrome 上按 F12 并选择“网络”选项卡(但 Firebug 更漂亮 ;-))。
【解决方案2】:

也许您有一个reduce 函数来丢弃文档内容,或者减少为null?我从您的屏幕截图中看到您没有单击“减少”复选框,因此您看到的只是地图功能的结果。

【讨论】:

  • +1 让我走上正轨。这是一个很棒的提示,谢谢!
猜你喜欢
  • 2015-09-13
  • 2015-05-01
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多