Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
Development
Javascript
Databases
ORMs
What are the best JavaScript ORMs?
16
Options
Considered
299
User
Recs.
Jan 15, 2024
Last
Updated
Related Questions
Activity
Have feedback or ideas?
Join our community
on Discord
Ad
14
Options
Considered
Best JavaScript ORMs
Price
Last Updated
--
RxDB
-
Oct 14, 2023
--
Prisma
-
Aug 21, 2023
--
MikroORM
0
Nov 5, 2023
55
TypeORM
0
Aug 17, 2023
--
Sequelize
-
Apr 20, 2023
See Full List
--
RxDB
My Rec
ommendation
for
RxDB
My Recommendation for
RxDB
All
5
Experiences
1
Pros
2
Cons
2
Top
Pro
•••
You can subscribe to queries
You can get an observable from queries instead of manually handling events.
See More
Top
Con
•••
small community
See More
ExcellentEnmesarra's Experience
Good docs
See More
Top
Pro
•••
based on rxjs
rxjs-based obersables make it easy to bind data to UI
See More
Top
Con
•••
Build size is over average
See More
Hide
See All
Get it
here
Recommend
36
2
--
Prisma
My Rec
ommendation
for
Prisma
My Recommendation for
Prisma
All
16
Experiences
6
Pros
8
Cons
2
Top
Pro
•••
Great documentation
See More
Top
Con
•••
No support for code first models
Can't add models in code first. You have to use Prisma's files to define your models and then let it generate the code for you.
See More
HealthyAbhean's Experience
Prisma is easy to get started with, comes with a lot of detailed examples, great docs and IDE support which makes the developer experience a breeze.
See More
Top
Pro
•••
Type safety
Prisma generates types out of a schema, enabling type safety across your application
See More
Top
Con
•••
Lack of NoSQL Support
Currently doesn't officially support NoSQL databases. There is a connector in preview for MongoDB, but no word on when it'll be fully released yet.
See More
Joël's Experience
Amazing syntax declaration for your schema with client and migration tool.
See More
Top
Pro
•••
TypeScript native support
See More
Daniel Norman's Experience
An intuitive and typesafe way to access your database from Node.js. Getting started with a new project or adopting in an existing project is effortless due to the way that it generates code. No need to define the types manually. The docs are pretty extensive and the team responds promptly to issues and questions.
See More
Top
Pro
•••
VSCode plugin
Great support for VSCode with autocompletion, quick fixes, syntax highlighting of the Prisma schema
See More
BrightSzelanya's Experience
A really intuitive way to access your database in a typesafe manner. Thanks to introspection, you don't need to define the types for your database tables manually. The docs are pretty extensive and the team responds promptly to issues and questions.
See More
Top
Pro
•••
Introspection
Introspects your database to generate a schema you can use to generate your client makes it simple to get started with existing databases.
See More
SpiritedPhilotes's Experience
Prisma is super :)
See More
Top
Pro
•••
Declarative single source of truth for your database schema
See More
MightyUpelluri's Experience
Probably best in class developer ergonomics
See More
Top
Pro
•••
Integrated migration tool
Prisma Migrate makes it easy to create migrations for production.
See More
Top
Pro
•••
Great support
Actually responds on issues or the Prisma Slack with helpful answers.
See More
Hide
See All
Get it
here
Recommend
28
1
--
MikroORM
My Rec
ommendation
for
MikroORM
My Recommendation for
MikroORM
All
8
Pros
8
Top
Pro
•••
Implicit Transactions
MikroORM allows handling transactions automatically. When you call em.flush(), all computed changes are wrapped inside a database transaction.
See More
Top
Pro
•••
Powered by Unit of Work and Identity Map
Manages in memory state of loaded entities for you.
See More
Top
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!
See More
Top
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.
See More
Top
Pro
•••
Easy-to-use and convinient way to use it
The first easy-to-use and convinient ORM in Typescript for Node.js
See More
Top
Pro
•••
SQL layer built on top of Knex
Allows to use knex directly (as well as native SQL) and map results to entities easily.
See More
Top
Pro
•••
Supports both SQL and NoSQL
Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases, and more can be supported via custom drivers right now.
See More
Top
Pro
•••
EntityGenerator
Allow to generate entities from existing database schema to get you up in speed.
See More
Hide
See All
0
Recommend
24
1
55
TypeORM
My Rec
ommendation
for
TypeORM
My Recommendation for
TypeORM
All
14
Experiences
2
Pros
4
Cons
8
Top
Con
•••
Based on decorators
TypeORM relies on decorators, and obsolete implementations of them at that. To add insult to injury, simple decorator syntax is not provided. So you need to write e.g. @Column() instead of @Column. This is an issue with the API design, a very nasty one (Angular does it is not a good reason to do anything).
See More
Top
Pro
•••
Written in TypeScript
Integrates very well with Angular projects and other projects leveraging TypeScript.
See More
Javanotti's Experience
It used to be promising, but is now full of confusing/obscure/unpredictable/broken parts. Its development process is goofy at best, with a slow roadmap and a dev who has more posts bragging about his orm's superiority/asking for donations that answers to crucial issues. I really like what works in TypeORM and have it running in production on serveral projects, but it wouldn' touch it with a wooden pole as of now.
See More
Top
Con
•••
Uncertain future
Confusing/obscure/unpredictable/broken parts. Sometimes glorious, sometimes goofy. Devs almost abandoned the project. Feels like driving a luxury car with flat tires.
See More
Top
Pro
•••
Abstracts SQL and NoSQL
Able to connect to SQL and NoSQL sources with a unified API.
See More
WorthyAergia's Experience
I use Typeorm in a nest project and I moved to Sequelize in one of them and MongoDB in another project, because Typeorm has many errors on big projects and I don't recommend using it on a production environment.
See More
Top
Con
•••
The first stable 1.0.0 version release was planned for autumn of 2018, today on 2020/03, they have an unstable 0.2.24 version
Still no 1.x release as of August 2023...
See More
Top
Pro
•••
No major contenders
May inexplicably have no major contenders in TS land.
See More
Top
Con
•••
Poor documentation
Lacking a simple, hosted API reference
See More
Top
Pro
•••
Weak Controller Generation and Discovery
Loopback and Sails implement API generation natively, with lots of features. TypeORM integrates Express route / endpoint / controller generation via an extension. Loopback implements complex database discovery with SQL and NoSQL stores. TypeORM can also generate models based on an existing database, but it is done via extension and the database must be SQL: Microsoft SQL Server, PostgreSQL, MySQL, or MariaDB. Still, these are great features most Node ORMs today do not have at all.
See More
Top
Con
•••
Obnoxious syntax
@Column() public foo: string | null; Should just do the right thing (a nullable column that has correct type annotation on the field). Instead this has to be: @Column({ type: "string", nullable: true }) public code?: string | null; source: https://github.com/typeorm/typeorm/issues/2567
See More
Top
Con
•••
In transactions when it throws an error, it doesn't roll back all operations within transactions
See More
Top
Con
•••
In transactions, many inserts generate an error
See More
Top
Con
•••
Confuses Classes with Types
The conflation of types and classes is a bad thing for JavaScript and TypeScript. To make matters worse, they often lead to the maximally complicated solution, especially for simple problems, result in awkward interop, and are incompatible with the extensive syntactic sugar that JavaScript provides for objects.
See More
Hide
See All
0
Recommend
67
35
--
Sequelize
My Rec
ommendation
for
Sequelize
My Recommendation for
Sequelize
All
8
Experiences
1
Pros
4
Cons
3
Top
Pro
•••
Promises implementation
Sequelize provides a library that is promise-based, which allows better managing of the exception and the result when it is unexpected.
See More
Top
Con
•••
Only for SQL
Sequalize lacks NoSQL support
See More
Yeinso Blanco's Experience
It allows use models definition form manage the entities. The way to build query is very intuitive. Use promises is mandatory.
See More
Top
Pro
•••
Great manage for validation messages
Sequelize has a middleware implemented which allows custom the error message for fails in every fields.
See More
Top
Con
•••
Problem with the relations
Sequelize, sometimes generate complex query... In the model definition sometiomes doesnt understand the relation corectly when the relation is hasOne.
See More
Top
Pro
•••
Multiple Dialect Support
Sequelize abstracts away the nuanced differences between various SQL implementations.
See More
Top
Con
•••
Does not use Typescript types for model definition
Example: https://sequelize.org/master/manual/models-definition.html
See More
Top
Pro
•••
sometime
See More
Hide
See All
Get it
here
Recommend
22
6
--
Loopback
My Rec
ommendation
for
Loopback
My Recommendation for
Loopback
All
9
Pros
7
Cons
2
Top
Con
•••
StrongLoop owned by IBM
StrongLoop is the main contributing organization for Loopback, and it was purchased by IBM. Now many people fear quality decline or license change is in the future. On the bright side, they seem to be developing complimentary tooling, but this may result in expenses or lock-in down the road.
See More
Top
Pro
•••
Abstracts SQL and NoSQL
Loopback can connect to SQL and NoSQL databases
See More
Top
Con
•••
Strong-PM process manager
It's not required to run a loopback app and can be a pain to deal with.
See More
Top
Pro
•••
API Generation
Loopback is both an ORM and an API generator.
See More
Top
Pro
•••
Schema Discovery
Standard first-tier ORMs allow record/table/model/schema CRUD, but the developer must know the model and specify beforehand. Loopback allows a developer to connect to an unknown schema and Loopback constructs the JavaScript object representation of discovered records/tables/models/schema.
See More
Top
Pro
•••
Swagger Integration
Loopback integrates with Swagger which can help document the API.
See More
Top
Pro
•••
Supports Migrations
Has support either auto or explicit migrations, but I believe the are generated from the models and sync'd to the database. https://loopback.io/doc/en/lb4/Database-migrations.html
See More
Top
Pro
•••
Support for TypeScript
Here's an example of a model definition using attributes on top of a TypeScript class definition: https://github.com/strongloop/loopback4-example-shopping/blob/master/packages/shopping/src/models/product.model.ts
See More
Top
Pro
•••
ActiveRecord style API
For example: Product.findById(req.params.id).then(function(product)
See More
Hide
See All
Get it
here
Recommend
21
18
--
DrizzleORM
My Rec
ommendation
for
DrizzleORM
My Recommendation for
DrizzleORM
Hide
Get it
here
Recommend
1
--
Prism.io
My Rec
ommendation
for
Prism.io
My Recommendation for
Prism.io
All
2
Experiences
2
HealthyAbhean's Experience
The product doesn't seem to exist anymore (dead link)
See More
VigilantMaia's Experience
Auto-generated migrations support
See More
Hide
Get it
here
Recommend
5
1
--
Objectify
My Rec
ommendation
for
Objectify
My Recommendation for
Objectify
Hide
Get it
here
Recommend
4
--
Bookshelf
My Rec
ommendation
for
Bookshelf
My Recommendation for
Bookshelf
Hide
Get it
here
Recommend
2
--
Objection.js
My Rec
ommendation
for
Objection.js
My Recommendation for
Objection.js
All
2
Pros
2
Top
Pro
•••
Built on top of Knex
So you can use Knex migrations, queries, and ability to map snake-case to camel-case names.
See More
Top
Pro
•••
Minimal class definition, works nicely with TypeScript
You can define a class using TypeScript, and use it as an Objection model.
See More
Hide
0
Recommend
3
--
Mongoose
My Rec
ommendation
for
Mongoose
My Recommendation for
Mongoose
All
1
Cons
1
Top
Con
•••
Only for MongoDB
Not only does Mongoose lack SQL support, it even lacks support for most NoSQL DBs.
See More
Hide
Get it
here
Recommend
4
7
--
Waterline
My Rec
ommendation
for
Waterline
My Recommendation for
Waterline
All
4
Experiences
1
Pros
1
Cons
2
Top
Con
•••
Lack of proper documentation
Documentation is very lacking for Waterline, especially with the latest version.
See More
Top
Pro
•••
Abstracts across SQL and NoSQL
It provides a uniform API for accessing stuff from different kinds of databases, protocols, and 3rd party APIs. That means you write the same code to get and store things like users, whether they live in Redis, mySQL, LDAP, MongoDB, or Postgres.
See More
EmpatheticKurdalaegon's Experience
Their standalone missing a lot of features that are documented, it does not available for using it standalone.
See More
Top
Con
•••
Lack of useful features for standalone
Unable to use a lot of important features, like transaction, raw SQL for standalone. Too coupled with Sails.js.
See More
Hide
See All
Get it
here
Recommend
2
5
--
CaminteJS
My Rec
ommendation
for
CaminteJS
My Recommendation for
CaminteJS
All
3
Pros
2
Cons
1
Top
Pro
•••
API Generation and Swagger Integration
Rivaled only by Loopback afaik
See More
Top
Con
•••
Not Super Well Maintained
While it has alot of features, it also has 1 Github issue per 10 Gihub stars, and not a single update in the past 5 months as of 12/22. Compare to best-in-class for this particular metric: Waterline has 160 stars per issue.
See More
Top
Pro
•••
Abstracts SQL, NoSQL, and Redis
Not only Mongo either
See More
Hide
See All
Get it
here
Recommend
1
Don't see your favorite option? Add it.
--
E-Commerce Strategy China
My Rec
ommendation
for
E-Commerce Strategy China
My Recommendation for
E-Commerce Strategy China
Get it
here
Recommend
1
--
Metronic - Responsive Admin Dashboard Template
My Rec
ommendation
for
Metronic - Responsive Admin Dashboard Template
My Recommendation for
Metronic - Responsive Admin Dashboard Template
$28
Recommend
1
1
See flagged products
Hide flagged products
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
One sec!
Are you sure that you want to abandon your hard work?
Delete Work
Continue working
{"amp_action":"signup"}
undefined
url next
price drop