Приложение 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) Несколько хороших примеров кодов для многих функций, что очень важно для разработчиков