#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. Я предполагаю, что у меня проблемы с частью сокращения карты … тем более с уменьшением, я могу вернуть все комментарии, но проблема заключается в том, чтобы они отображались в правильном потоке.