Node ORM Comparison Table

John Vandivier

 

This article contains table data for a comparison of NodeJS ORMs. Data can also be viewed on <a href="https://docs.google.com/spreadsheets/d/1sSbY8SLWA9lvvnTHX41t0TVPXwZ4A4ddO_KJMa20fA4/edit?usp=sharing">this Google Doc.

DB Support Generate Schema and Tables Generate API Webpack Express Performance Syntax Star-to-Issue* Normalized Star-to-Issue Extra Features Maintenence Documentation TOTAL
mapper 5 0 0 3 3 8 5 35 2 0 1 5 32
persistence.js 2 5 0 3 3 5 5 23 1 5 1 5 35
sequelize 4 8 0 3 5 7 5 42 3 5 10 8 58
Node ORM2 8 8 0 3 7 5 8 13 1 6 6 6 58
Bookshelf.js 4 6 0 3 3 5 3 19 1 0 4 8 37
objection.js 4 8 0 8 6 5 5 75 5 3 8 8 55
mongoose 1 10 5 2 6 5 3 58 4 7 10 10 63
waterline 7 8 5 3 5 5 4 160 10 5 10 8 70
js-data 8 5 0 3 8 5 3 29 2 0 5 8 47
typeorm 8 8 5 3 6 5 5 29 2 5 7 8 62
caminte 9 8 6 3 5 5 8 10 1 7 4 8 58
jugglingdb 9 8 0 3 3 5 5 30 2 0 4 7 46
loopback 9 8 8 3 5 5 5 84 5 8 10 9 75
*This is a literal metric provided for awareness and rounded. It is exempted from the total score. The normalized value is used in the total score. The normalized score is calculated by dividing the actual score by the maximum score and multiplying by 10.

What do you think of this result? Leave a comment or contribute you thoughts to <a href="https://www.slant.co/improve/topics/11235/~javascript-orms">this Slant comparison.