Написание представления для couchdb - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть этот документ в couchdb, я хочу написать представление, которое может генерировать комбинацию клавиш исходного "_id" и идентификатора в "Body" со значением в качестве самого тела.

в основном, если "doc "является ключом json:

[_id," ключ в теле "]

значение [документ ['_ id'] ['тело'] [ключ в теле]

json Документ

1 Ответ

0 голосов
/ 01 марта 2019

CouchDB имеет подробное руководство по просмотрам .

Функция карты представлений может выдавать несколько пар ключ-значение на один документ, поэтому в вашем случае вы можете создать каждую запись 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.Body.abc от doc._id = "123":

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

См. просмотр параметров сортировки и сложных ключей для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...