Как прикрепить новый комментарий в нужное место?
Видимо ссылкой на родительский коммент.
И как сосчитать все комментарии с учетом ответов?
В каждом комменте храните ссылку на пост/статью, таким образом все комментарии поста можно будет вынимать одним запросом, а при добавлении комментария инкрементируйте "числоКомментов" в документе поста, этим вы будите иметь кол-во комментов поста без выкачивания этих самых комментов.
А если вы на прямую не обращаетесь к коментам (бывает и такое), то можно все коменты засунуть в один документ если позволяют лимиты.
Пример, пост:
{
post_id: 'p1',
text: '...'
}
Комментарий в корне
{
comment_id: 'c1'
parent_comment: null,
post_id: 'p1',
text: '...'
}
Дочерний комментарий:
{
comment_id: 'c2'
parent_comment: 'c1',
post_id: 'p1',
text: '...'
}
Добавить дочерний комментарий к комменту c2:
db.comment.insert({parent_comment: 'c2', post_id: 'p', text: '...'})
Выборка всех комментов по посту:
db.comment.find({post_id: 'p1'})
Из полученного списка строите дерево комментов.