TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns.
Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.
Ranked in these QuestionsQuestion Ranking
Pro Powered by Unit of Work and Identity Map
Manages in memory state of loaded entities for you.
Pro Implicit Transactions
MikroORM allows handling transactions automatically. When you call em.flush(), all computed changes are wrapped inside a database transaction.
Pro DRY Entities
Uses source code analysis so you do not have to repeat yourself when defining entities. Simply define correct TypeScript types and you are good to go!
Pro Supports both SQL and NoSQL
Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases, and more can be supported via custom drivers right now.
Pro Easy-to-use and convinient way to use it
The first easy-to-use and convinient ORM in Typescript for Node.js
Pro SQL layer built on top of Knex
Allows to use knex directly (as well as native SQL) and map results to entities easily.
Allow to generate entities from existing database schema to get you up in speed.
Pro Allows multiple ways to define entities
You can use decorators or define your schema via EntitySchema helper. You can also define custom MetadataProvider to customize how the discovery works.