【问题标题】:Writing view for couchdb为 couchdb 编写视图
【发布时间】:2019-07-19 21:23:30
【问题描述】:

我在 couchdb 中有这个文档,我希望编写一个视图,它可以发出原始“_id”和“Body”中的 id 的组合键,其值为 body 本身。

基本上如果“doc”是json:

key [ _id, "key in Body" ]

值 [ doc['_id']['Body'][key in Body]

json Document

【问题讨论】:

  • 你试过什么?你有什么问题?

标签: couchdb


【解决方案1】:

CouchDB 有详细的guide to views

视图映射函数可以为每个文档发出多个键值对,因此在您的情况下,您将发出每个 doc.Body 条目。

function(doc) {
  if (doc.Body) {
    // get an array of own property names in doc.Body
    var bodies = Object.keys(doc.Body);
    // loop over all the Body entries
    bodies.forEach(function (body) {
      // emit key-value for each entry
      emit([doc._id, body], bodies[body].body);
    });
  }
}

doc._id = "123"获取所有尸体:

http://my.couch.host/my-db/_design/docname/_view/viewname?startkey=["123"]&endkey=["123",{}]

doc._id = "123"获取doc.Body.abc的正文:

http://my.couch.host/my-db/_design/docname/_view/viewname?startkey=["123","abc"]&endkey=["123","abc"]

请参阅views collationcomplex keys 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2011-12-26
    相关资源
    最近更新 更多