Я создаю веб-сайт с использованием стека MERN, и мне нужно обрабатывать много динамических данных.Поэтому я пытаюсь понять, как эффективно моделировать эти переменные данные, учебный материал также должен быть полезен.Или разные способы сделать это со своими плюсами и минусами.
Еще одна вещь, я использую Mongoose для создания схем.Таким образом, примеры или материалы в динамических данных с mongoose также должны быть полезны.
Кроме того, я дам вам и пример аналогичной ситуации, с которой мне нужно иметь дело, но мне не нужно строгоВы поможете мне со следующим примером, только если вы хотите, мне просто нужен материал, чтобы понять, как работать с динамическими данными и как правильно их моделировать.Таким образом, для людей, которые хотят мне помочь, вот пример, кстати, это лишь малая часть того, что я проектирую, но оно покрывает большинство моих сомнений в отношении динамических данных в MongoDB.Я пытался объяснить это, как мог, поэтому, если вы этого не понимаете, не беспокойтесь:
Прежде всего, есть компании и пользователи
- Компания может иметьмного пользователей
- Пользователь может быть только частью 1 компании
Есть то, что мы называем модулями
- Компания может получить доступ к нескольким модулям (Company Blueможет получить доступ к модулям A и B)
- Доступ к модулю может быть получен несколькими компаниями (Доступ к модулю A могут осуществлять компании Red и Company Blue)
- Пользователь может получить доступ к нескольким модулям (доколичество модулей, к которым компания может получить доступ, если компания может получить доступ к 4 модулям, пользователь может получить доступ к 4 модулям или меньше)
- Доступ к модулю может получить несколько пользователей из разных компаний.
Модуль может иметь определенные поля или столбцы, например:
- Модуль A:
- Элементы
- Описание
- Категория
- Год
- Основная задача
- Модуль B:
- Артикул
- Тип
- Номер
- Год
- Обязательство
В будущем могут быть добавлены новые поля.Пример: однажды мы можем добавить, потому что это было необходимо по какой-то причине к модулю B, в столбце «Риск» получится что-то вроде этого.
- Модуль B:
- Артикул
- Тип
- Номер
- Год
- Обязательство
- Риск
Каждая компания может выбирать, какие столбцы / поля могут видеть их пользователи, из какого модуля и в каком порядке.Например, если компания Blue получит доступ к модулю B, они увидят что-то вроде этого:
- Модуль B:
- Основная статья
- Риски
- Категория
- #
- Год выпуска
Каждый модуль может иметь строки, а строки имеют связанные значенияк каждому столбцу модуля:
Модуль B - строка 1:
- Артикул: 32
- Тип: Script
- Номер: 7223
- Год: 2017
- Обязательство: N / A
- Риск: Излучение
Модуль B -Строка 2:
- Артикул: 117
- Тип: Заказ
- Номер: 153
- Год: 1957
- Обязательство:Сделайте что-нибудь, чтобы что-то предотвратить
- Риск: ущерб окружающей среде
Компания может получить доступ к нескольким строкам
- Строка может быть доступна нескольким компаниям
- Когда пользователь получает доступ к модулю, он видит все тон гребет, к которым компания имеет доступ.
- Эти модули могут получать отзывы или нет в его строках, поэтому я не знаю, как это называется, но это будет что-то вроде рецензируемого, истинного или ложного.
- Если модуль является рецензируемым, все его строки могут получать рецензии, в противном случае ни одна из строк не может получать рецензии.
- Если модуль рецензируемый, каждая компания имеет конкретный отзывформат для определенного модуля, они могут иметь разные поля обзора, и
главная ценность обзора. Эти обзоры они могут выбрать, если будут числовыми,
%, списком данных [{label: Good, value = 1}, {label: Regular,
значение: 0.5}, {label: Bad, value: 0}] список не является фиксированным, это может быть
Отлично, хорошо, хорошо, плохо, очень плохо и т.д ...
- И поля обзора варьируются в зависимости от компании. например:
- Формат отзыва для компании Blue:
- Звезды (Основная оценка) [от 0 до 5]
- Причина значения
- Дата
- Формат отзыва для компании Red:
- Процент успеха (значение основного обзора) [от 0 до 100]
- Подробнее
- Документы прилагаются
- Дата последней проверки