Встроенные коллекции упрощают работу базы данных (сокращают количество коллекций) и ускоряют работу базы данных. Я обычно пытаюсь встроить все, и только если я не могу, я создаю отдельные коллекции. Если ваша встроенная коллекция будет большой, вы можете исключить ее из пользователя во время загрузки:
db.posts.find( { tags : 'tennis' }, { comments : 0 } );
Над запросом будут загружаться сообщения без комментариев. Документация
Но встроенные коллекции также добавляют сложности. Например, ваш mongodb не может отсортировать встроенную коллекцию для вас. Заказ всегда по умолчанию. Но вы можете сделать это на стороне клиента.
Если для вас работает порядок по умолчанию, вы можете просмотреть вложенную коллекцию на странице через $ slice:
db.posts.find({}, {comments:{$slice: [20, 10]}}) // skip 20, limit 10
Также взгляните на этот документ о дизайне схемы.
Так что + 1 к встраиванию, когда это возможно.