Objection.js基于 Knex.js 构建的 ORM。保持 SQL 友好,支持复杂查询。提供关系映射,支持模型级别的验证。缺点:对初学者稍有门槛,社区热度相对一般。2. TypeORM 功能强大,但复杂 ⭐⭐ 从上表可以看到,如果你追求类似 MyBatis-Plus 的 简洁 CRUD + 灵活扩展,最推荐的工具是: Objection.js (适合想要兼顾 SQL 灵活性和 CRUD 简化的人) Prisma(适合 TypeScript 用户,追求类型安全和快速开发的人)四、最推荐的方案 —— 使用 Objection.js下面以 Objection.js
Objection.js Objection.js 是一个用于 Node.js 的 ORM(对象-关系映射)库,其目标是尽量不干扰你的工作,同时使你能够充分利用 SQL 和底层数据库引擎的全部功能,同时也使常见任务变得简单和愉快 Objection.js 基于一个名为 knex 的 SQL 查询构建器构建而成。所有 knex 支持的数据库都受到 objection.js 的支持。 Objection.js 为你提供了以下功能: 以声明方式定义模型和它们之间的关系。 使用完整的 SQL 功能来轻松获取、插入、更新和删除对象的简单而有趣的方式。 Objection.js 不提供以下功能: 完全面向对象的数据库视图。在 Objection 中,你不是在使用实体对象,而是在使用查询。Objection 不试图用面向对象的方式包装每个概念。 Objection.js 将与模式相关的事情留给你。knex 有一个很棒的迁移工具,我们建议用它来执行这项任务。可以查看示例项目来了解更多信息。
Objection.js: 你想要一个支持 Knex 所有功能的 ORM,不用查询 DSL(所以你写的代码更接近原始 SQL),还有一个基于 Promise 的 API 和详尽的文档。
数据存储的 ORM pg-promise - 基于 Promise 的使用原生 SQL 的 PostgreSQL框架 slonik - 具有严格类型,详细日志记录和断言的 PostgreSQL 客户端 Objection.js
库: TypeORM sequelize mongoose Knex Objection.js waterline 使用 Bcrypt 代替 Crypto 密码或机密信息(API 密钥)应该使用安全的
库: TypeORM sequelize mongoose Knex Objection.js waterline 使用 Bcrypt 代替 Crypto 密码或机密信息(API 密钥)应该使用安全的