Настройка нескольких баз данных MongoDB на одном сервере Typescript Nodejs дает множество преимуществ, в том числе:

  1. Разделение данных
  2. Масштабируемость и производительность
  3. Безопасность и контроль доступа
  4. Изоляция данных
  5. Сторонняя интеграция
  6. Тестирование и разработка
  7. Ориентированность на будущее и модульность

NB:Вот ссылка на репозиторий, где я активно использую несколько баз данных в производстве (SoccerMASS) на тот случай, если вам понадобится ссылка для обучения.

В этом приложении я создал отдельную базу данных для учетных записей (создание профиля, регистрация и т. д.), менеджера (данные клуба, игрока, менеджера в игре SoccerMASS — Soccer Manager), консоли (журналы приложений, контактные сообщения, реклама, журналы ошибок и т. д.) и ApiHub (данные для всех общедоступных конечных точек).

В этом приложении мы использовали mongoose, но на тот случай, если вам нужно напрямую использовать методы MongoDB, это тоже сработает.

Мы создаем нашу схему с помощью мангуста, как и в большинстве приложений, код говорит сам за себя, но просто чтобы выделить несколько вещей. ProfileSchema описывает структуру наших данных в коллекции Profile, а все методы в статике схемы профиля можно вызывать непосредственно из модели профиля. Метод pre, прикрепленный к ProfileSchema, перехватывает все записи и может манипулировать ими до того, как они будут сохранены в базе данных. Наконец, мы экспортируем нашу модель для использования в нашем приложении. Приведенный выше код можно найти на github здесь на случай, если он будет обновлен в будущем.

Вы можете найти больше схем и моделей в папке моделей внутри файла src.

Этот код фактически создает событие подключения к нашим базам данных, а также может использоваться для регистрации данных здесь. Внутри приведенного выше фрагмента мы подключаемся к нашим различным базам данных и экспортируем их для использования в нашем приложении. Код можно найти здесь.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .