обработка комментариев в couchdb с сортировкой представлений

#multithreading #comments #couchdb

#многопоточность #Комментарии #couchdb

Вопрос:

Я работаю над системой комментариев в couchdb и успешно перенес обработку потоков на один уровень глубже, но помимо этого я не уверен, как это сделать?

У меня такое чувство, что это должно быть похоже на ссылки на документы здесь: http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views

Кто-нибудь может указать мне направление, как сделать систему комментариев многоуровневой?

Ответ №1:

Я предполагаю, что комментарии имеют уникальные идентификаторы комментариев, а потоки имеют уникальные идентификаторы потоков. У них обоих также есть какая-то временная метка.

Допустим, у вас это произошло:

 thread (thread_id := 1)
comment (c_id := 1, c_time := 1, t_id := 1)
    comment (c_id := 2, c_time := 2, t_id := 1, c_parent := 1)
        comment (c_id :=4, c_time := 3, t_id := 1, c_parent := 2)
    comment (c_id := 3, c_time := 4, t_id := 1, c_parent := 1)
  

При такой структуре ваше представление будет просто запрашивать по t_id (идентификатор потока), если вы извлекаете документы, упорядоченные по отметке времени комментария, вы можете легко создать список корневых комментариев и оттуда создать свое дерево комментариев для потока.

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

1. Я предполагаю, что у меня проблемы с частью сокращения карты … тем более с уменьшением, я могу вернуть все комментарии, но проблема заключается в том, чтобы они отображались в правильном потоке.