Knorm logo

Knorm

Class-based JavaScript ORM

Simplicity

Easy to extend, configure or override, owing to ES6 classes.

Validation

Including validation for JSON fields, similar to Mongoose.js.

Plugin support

Allows sharing customisations.Also supports custom plugins.

Transactions

Including callback-based and procedural transactions.

Relations

Implemented through SQL joins.

Virtual fields

With support for `async` gettters(suitable for GraphQl for instance).

Value casting

Before save(insert or update) and after fetch operations.

Custom errors

Custom error classes for all errors, including database errors.

Well tested

Extensive test coverage, plugins included.