База данных mongodb, есть надобность наглядно показать схемы и связи между ними. Визуализировать все это дело, чтобы доступ был по ссылке ( Или еще как-нибудь, в общем, чтобы другие люди могли без проблем узрить )
Каких-то автоматических решений я не нашел ( Чтобы считывались схемы в проекте, и где-то на юрле рисовалась бд, как в сваггер, например ).
так в монго же нет связей. Это объектно-ориентированная, каждый объект может быть каким угодно.
Вся связь - на уровне запросов и аппликейшена, насколько я знаю.
Главная проблема в том, что монга не имеет схемы, а по тому, чтобы построить какую-то визуализацию надо либо вычитывать все данные из базы, либо сканировать исходный код приложения, которое с ней работает.
На сколько помню, в монге можно задать некоторые правила проверки при заполнении контейнеров, некий аналог схемы в реляционных БД. Если эти правила есть, то теоретически можно что-то построить, основываясь на этих правилах, если нет - каждая запись может быть произвольным объектом.
Была необходимость создать дизайн для админки с добавлением контента под все существующие схемы.
Пришлось дизайнеру вручную скринами объяснять у каких сущностей какие поля нужны и какие сущности от каких зависят. Конечно, это все можно частично увидеть и по сваггеру, но сваггер у нас не всегда актуален да и было бы еще лучше иметь визуальное представление всей базы данных, по крайней мере это упрощает понимание того: что мы храним и в каких связях. Больше важны именно связи,например, course имеет ссылку на lesson, а lesson еще куда-то.
В общем, лучше и быстрее с этим, чем без этого, но не критично.
Да там графики какие-то и вообще ничего из того, что хотелось бы видеть. Мне бы просто визуально какую-то древовидную структуру получить из схем, кто на там кого ссылается
lssssssssssl, думаю, даже datagrip может построить схему монги.
Но мне кажется, что то что вы описали в вопросе
Чтобы считывались схемы в проекте, и где-то на юрле рисовалась бд, как в сваггер, например
Это уже что-то достаточно редкое из категории enterprise-grade, где аудитор на аудиторе и аудитором погоняет, а просто локально построить схему - это очень долго из-за размеров этой самой схемы.
Чисто теоретически нет ничего трудного построить визуализацию этого класса - другой вопрос это то, что сами данные в базе данных могут не соответствовать тому, что определено в этой схеме, но это неважно, так все данные добавляются только через ODM и если руками в бд не лазить и схемы не менять беспечно то данные будут точно те, которые там и должны быть без сюрпризов и удивлений
Под схемой в данном случае я подразумеваю то, что дает mongoose под словом Schema()
lssssssssssl, прикольно, но на сколько я понимаю - эту схему делает не сама монга, а mongoose, а значит и искать надо что-то типа "визуализировать mongoose схему".
Думаю, можно взять какой-нибудь инструмент для анализа AST тайпскрипта и тупо преобразовать код в plantuml какой-нибудь или graphviz
Василий Банников, Ну не обязательно визуализировать монгус, возможно, есть решения, чтобы ныткать еще миллион декораторов для другой библиотеки, которая будет отвечать за отрисовку. В принципе об этом и был вопрос
В общем-то ладно, спасибо