Как присоединиться к SUM () в CouchDB? - PullRequest
0 голосов
/ 10 апреля 2019

Я хотел бы создать следующую таблицу стилей с использованием CouchDB и связанных документов:

+----------------+------------+--------------------+
|     Title      |    Date    | Number of Comments |
+----------------+------------+--------------------+
| Hello World    | 2000-01-01 |                301 |
| Next Question? | 1999-03-04 |                 11 |
| Final Post     | 1992-04-01 |                 64 |
+----------------+------------+--------------------+

У меня есть документы, похожие на сообщения:

{ _id : 'hello-world', title : 'Hello World', date : '2000-01-01', type : 'post' }

и комментарии:

{ _id : 'some-comment', title : 'Great post!', postid: 'hello-world', type : 'comment' }
{ _id : 'some-comment2', title : 'Poor quality', postid: 'final-post', type : 'comment' }

Как мне это сделать?Я бы предпочел использовать одну карту / уменьшить.

1 Ответ

0 голосов
/ 15 апреля 2019

Я отвечаю на это для себя, если у кого-то еще есть этот вопрос.Я думаю, что мое неправильное понимание связано с тем, что я привык к SQL.

По сути, я могу выбрать следующие варианты:

  1. Создать представление документа проекта (comments-by-post), которое даст мне сообщение._id в качестве ключа и # количество комментариев к этому сообщению.Затем я могу сшить это вместе с постами, полученными запросом Mango или другим представлением на моем языке программирования.
  2. В качестве альтернативы и, возможно, более правильно , я могу просто создать свойство с именем numberOfComments на объекте post и обновляйте его каждый раз, когда кто-то комментирует.Это кажется неправильным с точки зрения SQL, но я полагаю, что гибкость базы данных документов поддается этому.

Я предпочитаю сделать № 1 для начала и поэкспериментировать с # 2.

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