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 |
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.