finds.dev← search

// the find

dresende/node-orm2

★ 3,049 · JavaScript · MIT · updated Mar 2025

Object Relational Mapping

node-orm2 is a Node.js ORM supporting MySQL, PostgreSQL, SQLite, and MongoDB with a callback-based API and association support. The README opens with a deprecation notice pointing users to TypeORM or Sequelize. This is a maintenance artifact, not a tool anyone should pick for new work.

The association model (hasOne, hasMany, extendsTo) is well thought out and handles join tables, reverse accessors, and composite keys cleanly. The chainable query API (.find().limit().offset().only().run()) is readable and covers most common query patterns without ceremony. Identity cache (singleton pattern) is a nice touch for avoiding stale duplicate instances in memory. Raw SQL escape hatch via db.driver.execQuery with parameterized ? and ?? substitution is safe and practical.

Abandoned — maintainer themselves says so in the README, and the last meaningful activity was years before the 2025 push. MongoDB support was already broken on Node 8, which was EOL in 2019. The entire API is callback-based with Bluebird promise wrappers bolted on as an afterthought; no native async/await anywhere in the core. TypeScript definitions exist in a subdirectory but were clearly not maintained alongside the JS — you'll hit gaps immediately on anything beyond basic models.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →