如何解决/{db}/_all_docs 响应中的 id 和 key 字段有什么区别?
/{db}/_all_docs
响应似乎具有相同的 id
和 key
值。两者有什么区别? key
字段未在任何地方记录。
解决方法
乍一看 id
和 key
似乎是多余的,但在考虑 _all_docs
时它是有道理的。来自文档:
执行内置的_all_docs view*,返回所有文档 在数据库中。除了 URL 参数(描述 下面),此端点与任何其他视图的工作方式相同。参考 查看端点文档以获得完整的描述 可用的查询参数和返回数据的格式。
* 强调我的
所以 _all_docs
是一个内置的视图。考虑view documentation。将视图视为由三个字段组成会很有帮助
- id
- 键
- 价值
用户设计的视图通常形成为 id = document._id with
emit()
函数(通过 map
函数)生成的键和值。
例如下面的地图函数
function (doc) {
emit(doc.someField,doc.someValue);
}
生成视图 id = doc._id,key = doc.someField,value = doc.someValue。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。