В MongoDB нет «вычисляемых столбцов», поэтому вы не можете одновременно выбирать данные и подсчитывать вложенные документы.
Это также причина, по которой большинство людей хранит длину массива вместе с массивом.
{friends_list: [1, 3, 234, 555],
friends_count: 4}
Это помогает упростить поиск, фильтрацию, сортировку и т. Д. Но требует немного больше ручной работы.
Итак, вы в основном ограничены этими опциями:
Храните все в одном документе.
Сохранить количество подкатегорий в категории.
Количество подкатегорий на стороне клиента.