Всем привет, хотел спросить совета насчёт структуры базы данных используемой в проекте. Дело обстоит так: у нас таблица с категориями товаров, в этой таблице есть также и подкатегории, которые от родительских отличаются лишь полем { isMain: false }. Чтобы связать категорию и ее подкатегории, в основной категории есть поле subcategories, в котором хранятся ID дочерних категорий. Как по мне эта структура немного странновата. Потому что на фронте не всегда нам нужны все категории с их подкатегориями, но часто нужна единичная категория с ее дочерними подкатегориями, что приводит к нескольким запросам вместо одного: один на то чтобы достать категорию, и еще один чтобы достать все подкатегории, чьи ID хранятся в поле { subcategories } основной категории. Я предложил использовать virtual свойства в монгусе, и разделить эту таблицу на две отдельные с Категориями и Подкатегориями, и добавить Подкатегориям поле parentCategory с ID родительской категории, связав их. На что мне наш базист сказал что это не есть гуд дробить таблицы, поля у которых похожи. Проблема еще возникает на админке со стороны UI, так как немного тяжело создавать категории и в них же добавлять такие же категории, при этом не сделав UI громоздким, а наоборот более реюзабельным. Стоит ли прислушаться базиста и дальше страдать на фронте или сделать по-своему? Стек: React/Node/GraphQL/MongoDB.
Спасибо за любые советы.