На самом деле это не столько отсутствие индексов, сколько отсутствие индексов по умолчанию.С SQL, если вы не создадите индекс, поиск будет медленным.В большинстве систем NoSQL, если вы не создадите индекс, поиск вообще не будет выполняться.Подход, используемый для индексации, зависит от конкретной системы, которую вы используете - иногда вы используете поисковую систему для индексации документов, иногда она хранит наборы идентификаторов для каждого возможного значения.
Я не согласен с хранением комментариев в почтовом документеЯ сам - более гибко иметь комментарии как отдельные документы, проиндексированные по идентификатору записи.Однако, если случается, что вам не нужны эти другие запросы (и ваша платформа поддерживает частичные обновления), единственный документ - самое простое решение - правильная структура полностью зависит от того, что вы хотите с ним делать.
Вы не найдете ничего общего для преобразования схем, поскольку нет единого правильного ответа.Я думаю, что лучший способ - думать о приложении, а не о данных - если ваше приложение для блога sql читает несколько таблиц и создает объект публикации, который, как вы знаете, вероятно, у вас должен быть документ публикации.
Вам также следует попробоватьдумать о решениях, отличных от выполнения запросов, чтобы использовать возможности вашей платформы NoSQL - например, с помощью redis я бы реализовал последние комментарии в виде списка, который обновляется и урезается при каждом добавлении комментария.По сути, это очень специализированный индекс - гораздо более эффективный, чем проверка даты каждого комментария в системе и добавление дополнительных ключей / типов данных - не проблема, если вам не нужно беспокоиться об обновлении схем.