what node ORM is worth it to learn

This page summarizes the projects mentioned and recommended in the original post on /r/node

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • Prisma

    Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

  • Right now, we are ironing out the last issues and are going to release it for production very soon! You can follow the progress on GitHub. (Also note that we do already support transactions via dedicated and more tailored APIs, like nested writes, atomic updates and optimistic concurrency control). Does that mitigate your main concern with Prisma?

  • amplication

    🔥🔥🔥 Open-source backend development platform. Build production-ready services without wasting time on repetitive coding.

  • Amplication is an interesting augmentation of Prisma. It includes an admin interface and a dev interface to access your models.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Mongoose

    MongoDB object modeling designed to work in an asynchronous environment.

  • Just out curiosity, are you pairing your back-end with an actual relational database? I'm assuming yes, of course, since you mention specific ORMs. However, on the off-chance that you're not, you'll want to look into ODM's if you're using a document-based backing store, for example. I used to use "ORM" as a sort of generic term for frameworks that help with data modeling, not realizing the "R" in ORM is very specific. I'm not suggesting at all that's the case here, just throwing it out there in case you're going MongoDB or something. In that case, Mongoose ODM is nice :)

  • kysely

    Discontinued A type-safe typescript SQL query builder [Moved to: https://github.com/kysely-org/kysely] (by koskimas)

  • I have used Objection.js, and I think Kysely is also interesting if you are using TypeScript. It is a type-safe and autocompletion-friendly SQL query builder. Inspired by Knex. Kysely is from the same developer as Objection.js.

  • Sequelize

    Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.

  • Strongly recommend using Prisma. In past I have adopted Sequelize to a project. With time experience was hectic. Managing migrations & associations were tedious, specially with typescript. Developer experience was not so good.

  • @databases

    TypeScript clients for databases that prevent SQL Injection

  • I built https://www.atdatabases.org which has an ORM for node.js, but also supports writing SQL queries in a safe way. It is type safe, and has much simpler & more flexible transaction support than most node.js ORMs.

  • json-sql

    ORM for creating SQL from JSON

  • If you're looking for something simple to just turn JS objects into a SQL database or SQL code, and okay with just mysql and ESM modules, then you could look at json-sql. It's not at v1.0.0, so probably best for small or disposable databases.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • aurora

    CLI tool that orchestrates prisma files in a way that allows multiple .prisma files with cross-relations (by sabinadams)

  • Splitting the schema file is indeed not yet possible but we will be working on this soon. Also, there are already a number of tools from the community that allow this (e.g. Aurora) and some people just use simple bash scripts to concat the .prisma files before running CLI commands against them (the GitHub issue lists a lot of workarounds).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts