【发布时间】:2021-06-14 04:35:50
【问题描述】:
/{db}/_all_docs 响应似乎具有相同的 id 和 key 值。两者有什么区别? key 字段没有记录在任何地方。
【问题讨论】:
/{db}/_all_docs 响应似乎具有相同的 id 和 key 值。两者有什么区别? key 字段没有记录在任何地方。
【问题讨论】:
乍一看id 和key 似乎是多余的,但考虑到_all_docs 时它是有道理的。来自文档:
执行内置的_all_docs view*,返回所有文档 在数据库中。除了 URL 参数(描述 下面),此端点的工作方式与任何其他视图相同。参考 查看端点文档以获得完整的描述 可用的查询参数和返回数据的格式。
* 强调我的
所以_all_docs 是一个内置的视图。考虑view documentation。将视图视为由三个字段组成是有帮助的
用户设计的视图通常形成为 id = document._id
emit() 函数产生的键和值(通过map 函数)。
比如下面的map函数
function (doc) {
emit(doc.someField, doc.someValue);
}
生成视图id = doc._id, key = doc.someField, value = doc.someValue。
【讨论】: