查看: 57|回覆: 0

Node.js ORM 框架对比

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-7-17
發表於 2020-5-19 16:03:00 | 顯示全部樓層 |閲讀模式

Mongoose

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

  • 官网:https://mongoosejs.com/
  • 数据库:仅支持 MongoDB
  • 编程风格:
    • 支持 Promise/async/await
    • 基于 JS 内置类型的 Schema 声明
    • 基于链式构造的 Query Builder 查询
  • 周边技术:
    • Typegoose
    • https://www.npmjs.com/package/typegoose
    • 可以增加 TypeScript 支持,支持使用 Reflect Metadata 自动映射 TS 类型标注
  • 热度:周频持续更新,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

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部