Приложение Node MVC с динамическим ORM, включая ассоциации

Я хочу создать приложение Node.js MVC. Мои данные хранятся в DynamoDB. Я ищу подходящие рамки для этого. Я в основном спорю между:

  • Express.js (для контроллеров) с vogels в качестве ORM (для моделей),
  • Sails.js с адаптером DynamoDB.

Я предпочитаю поддерживать ассоциации между моделями, так что мне не нужно будет реализовывать это самостоятельно в моем коде. Кто-нибудь может посоветовать, каковы преимущества и недостатки обоих вариантов? Могу ли я сделать со вторым вариантом все, что я могу сделать в первом варианте, но с меньшим количеством кода? Любые другие рекомендации?

1 ответ

Решение

Во-первых, это вопрос, основанный на мнении. Итак, я бы просто высказал свое мнение. Это не значит, что одно намного лучше, чем другое.

Я использовал Vogels для некоторых случаев использования. Я нашел это очень полезным. Вот некоторые из преимуществ Vogels:

1) Параллельное сканирование - помогает повысить производительность, с которой разработчики, скорее всего, столкнутся в какой-то момент проекта, особенно если вы собираетесь хранить миллионы записей в DynamoDB

2) Поддерживает как глобальные, так и локальные вторичные индексы - в зависимости от шаблона запроса приложению, скорее всего, потребуется индекс для таблиц. Так что эта функция очень полезна

3) Поддержка типов данных и валидации с использованием Joi ( Joi Link)

4) Автоматическое добавление полей меток времени аудита, таких как updatedAt, создал At

5) Автоматическая генерация значения ключа в формате UUID

6) Цепной API для операций запроса и сканирования. Вы можете объединить несколько условий фильтрации с возможностью ограничения для разбивки на страницы и сортировать результаты.

7) Загрузка нескольких моделей с помощью одного запроса (функция пакетного получения товаров)

8) Основные потоковые API

9) Несколько хороших примеров кодов для многих функций, что очень важно для разработчиков

Другие вопросы по тегам