【问题标题】:What is the difference between id and key fields in /{db}/_all_docs response?/{db}/_all_docs 响应中的 id 和 key 字段有什么区别?
【发布时间】:2021-06-14 04:35:50
【问题描述】:

/{db}/_all_docs 响应似乎具有相同的 idkey 值。两者有什么区别? key 字段没有记录在任何地方。

【问题讨论】:

    标签: couchdb pouchdb


    【解决方案1】:

    乍一看idkey 似乎是多余的,但考虑到_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。

    【讨论】:

      猜你喜欢
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-09-24
      • 2013-09-22
      • 2011-04-11
      • 2017-01-03
      • 1970-01-01
      • 2012-11-20
      相关资源
      最近更新 更多