Есть ли способ получить более чистый JSON из Couchdb? - PullRequest
0 голосов
/ 20 июня 2019

Мне интересно, есть ли способ получить более чистый JSON только с документами из Couchdb вместо того, чтобы получать его под "строками" и затем "doc"

Это вывод по умолчанию

    {
   "total_rows":1,
   "offset":0,
   "rows":[
      {
         "id":"7d9fd5824f9029186c1eec1bda005e75",
         "key":"7d9fd5824f9029186c1eec1bda005e75",
         "value":{
            "rev":"1-f99879f67cfd27685f92c884c236a0fd"
         },
         "doc":{
            "_id":"7d9fd5824f9029186c1eec1bda005e75",
            "_rev":"1-f99879f67cfd27685f92c884c236a0fd",
            "title":"Hello World",
            "messeges":"This is the first messege. Helloo there"
         }
      }
   ]
}

Это желаемый результат:

    {
   "_id":"7d9fd5824f9029186c1eec1bda005e75",
   "_rev":"1-f99879f67cfd27685f92c884c236a0fd",
   "title":"Hello World",
   "messeges":"This is the first messege. Helloo there"
}

Спасибо

Ответы [ 2 ]

1 голос
/ 20 июня 2019

Было бы полезно увидеть ваш код.Я подозреваю, что это вывод alldocs api ?Если вы знаете идентификатор нужного вам документа, вы можете использовать get api , который возвращает нужный вам JSON.В противном случае вы должны пройти по «строкам», то есть

for (x in results.rows) {...}

, а затем использовать x.doc для получения JSON.

0 голосов
/ 20 июня 2019

Спасибо всем за помощь. Я нашел способ сделать это в Node js с помощью функции карты, прикрепленной к там запросу

на нано-странице они указали его как

alice.list().then((body) => {
  body.rows.forEach((doc) => {
    console.log(doc);
  });
});

вместо этого я использовал это так

alice.list().then((body) => {
  var result = body.rows.map( (x) => {
      return x.doc
  });
   console.log(result);
});

, который работает для меня.

Все еще новое до couchdb и базы данных в целом.

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