Вложенные документы имеют смысл, если их несколько и нет необходимости выборки внутри этой под-коллекции.
Например, приаттаченные к комментарию картинки.
Комментарии потенциально многочисленны и может возникнуть необходимость постраничной выборки, либо скрытия длинных веток (как жж или на d3)
Упорядоченную иерархическую структуру (с оптимизированной выборкой и дорогим переставлением) можно сделать тремя полями:
parent: id родительского комментария.
ancestors: id всех предков от корня до родительского.
level: уровень (длинна ancestors)
Выборка любой ветки, начиная с threadid до глубины maxdepth осуществляется запросом
{ 'ancestors': threadid, 'level': { '$gt': maxdepth } }
.
Сортирвку в порядке линеаризации средствами mongo не получится, если только не вводить дополнительное хитровычисляемое поле для него. Например, строковую конкатенациею level всех предков.