mishanga/bemchan

Create i-db module

Opened this issue · 5 comments

Написать блок для работы с базой данных MongoDB.

На данном этапе предлагается считать базу состоящей из деревьев однородных документов-комментариев. Каждое дерево представляет собой один тред.

Поля документа: id (decimal, asc), message, parent (array), board (array).

Методы блока:

  • postComment <parent>
  • getComment id
  • getComments <board>, <limit>

Веня, нарисуй, пожалуйста, схему хранения документов-комментов.

Scheme

Вот как-то так я себе это представляю.
Все комментарии хранятся в одной коллекции Comments. Через коллекцию Counter идет сквозное увеличение номера комментария. В поле parents хранится массив тех комментариев, на которые этот считается ответов. Если это поле пустое, то этот комментарий оп-пост. В поле boards лежит массив тегов треда. Имеет смысл только для оп-поста. Параллельно, в коллекцию Boards складываются все зарегистрированные доски.

"В поле parents хранится массив комментариев". Их идентификаторы? Ссылки на них (в MongoDB можно хранить в поле ссылку на объект в коллекции?)?

Их идентификаторы, скорее всего.
Можешь поподробнее рассказать про ссылки? Если я правильно понимаю, то их можно использовать для связи комментария с бордой.