Node.js ORM 框架对比


Mongoose

目前比较常见的 MongoDB ORM 框架,官方说法是 ODM 框架,可见对关系型数据库支持一般

  • 官网:https://mongoosejs.com/
  • 数据库:仅支持 MongoDB
  • 编程风格:
    • 支持 Promise/async/await
    • 基于 JS 内置类型的 Schema 声明
    • 基于链式构造的 Query Builder 查询
  • 周边技术:
  • 热度:周频持续更新,NPM 周下载 70W+

Sequelize

较老牌的 Node.js ORM 框架,相对简易

  • 官网:http://docs.sequelizejs.com/
  • 数据库:支持关系型数据库(MySQL/MSSQL/PostgreSQL/SQLite)
  • 编程风格:
    • 支持 Promise/async/await
    • 基于自带的一套类型枚举声明
    • 基于 JSON 对象的查询方式
    • 基于自带的一套操作符描述
  • 热度:月频持续更新,NPM 周下载 20W+

Bookshelf

Sequelize 之后出现的 ORM 框架,风格与 Sequelize 较相似,看上去比 Sequelize 易用性高

  • 官网:http://bookshelfjs.org/
  • 数据库:支持关系型数据库
  • 编程风格:
    • 基本上是 Eloquent ORM 的 JS 版本
    • 支持 Promise/async/await
    • 支持基于链式构造的 Query Builder 查询
  • 热度:近半年未更新,NPM 周下载 1.7W

TypeORM

基于 Decorator 的 ORM 框架,对 TypeScript 支持较好,同时支持在 JavaScript 中通过手动声明使用,以及 JSON 方式的 Entity 配置声明

  • 官网:https://github.com/typeorm/typeorm/
  • 数据库:支持关系型数据库,Beta 支持 MongoDB
  • 编程风格:
    • 基本上是 Hibernate 的 JS 版本
    • 支持 Promise/async/await
    • 支持基于链式构造的 Query Builder 查询
    • 支持 CLI 工具
  • 热度:周频持续更新,NPM 周下载 2.8W

参考链接:https://github.com/CyanSalt/notebook/issues/12
参考链接:https://www.jianshu.com/p/07141d53f119


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM