Выезд SumoDB
Обзор
sumo_db дает вам стандартный способ определения вашей схемы БД, независимо от реализации БД (mongo, mysql, redis ,asticsearch и т. д.).
Ваши сущности инкапсулируют поведение в коде (т.е. функции в модуле) и состояние в реализации sumo: doc ().
Сумо является основным модулем. Он переводит и из внутренних записей сумо в ваше собственное состояние.
Каждое хранилище управляется рабочим пулом процессов, каждый из которых использует модуль, который реализует sumo_store и вызывает фактический драйвер БД (например, sumo_store_mnesia).
Поддерживаются некоторые события собственного домена, которые отправляются через gen_event: автоматически уведомлять / 2 при создании, обновлении и удалении объекта. Также когда создается схема и когда удаляются все объекты данного типа. События описаны в этой статье.
Полная поддержка условной логики при использовании функций find_by / 2 и delete_by / 2. Вы можете найти больше информации о синтаксисе этих условных логических операторов здесь.
Поддержка сортировки (asc или desc) по нескольким полям без использования функций find_by / 5 и find_all / 4. Например, это [{age, desc}, {name, asc}]] будет отсортировано по возрасту и по имени по возрастанию.
Поддержка проверки документов / моделей с помощью sumo_changeset (см. Раздел «Набор изменений»).