【问题标题】:Stop Cloudant queries returning _design document停止返回 _design 文档的 Cloudant 查询
【发布时间】:2016-09-19 07:45:50
【问题描述】:

我正在使用 NodeJS 模块查询 Cloudant 数据库,既使用特定字段搜索,也使用函数 db.list()。但是,我(大概是正确的)也被退回所有设计文件。

有没有办法防止设计文档被返回,即使用列表时,无需运行特定查询来检查_id,或测试来自数据库的响应的每一项?

我在文档中找不到这样做的方法,只提到 _design 文档像任何其他文档一样被查询和更新,大概是列表中包含的原因。

谢谢

【问题讨论】:

  • 您介意分享您用来为列表提供动力的地图功能吗?
  • 我正在使用 Cloudant NodeJS 模块,该模块底层使用 nano。该功能是内置的,可以在这里找到github.com/dscape/nano#dblistparams-callback

标签: node.js cloudant nosql


【解决方案1】:

db.list() 函数正在访问 Cloudant 的 _all_docs 端点,例如

https://reader.cloudant.com/animaldb/_all_docs

这会按关键顺序返回所有数据库文档(包括设计文档)。

由于所有设计文档的 id 都以“_”字符开头,因此我们只能通过以下方式访问“真实”文档

https://reader.cloudant.com/animaldb/_all_docs?startkey=%22a%22

即找到我所有以“a”开头的文档开头的文档。

在 Node.js 中是这样的:

db.list({startkey:'a', include_docs:true}, function(err, data) { console.log(data); })

或者,您可以使用create and index 来查询和返回数据库的子集。设计文档不考虑用于索引目的,因此不会出现在结果集中。

【讨论】:

  • 谢谢,开始键很理想。
猜你喜欢
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-22
相关资源
最近更新 更多