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