最近用了sequelize感觉各种日狗。。想咨询下各位大佬都用过哪些orm以及用之后的感言。
都也一般般,sequelize功能还算可以,文档比较烂。
bookshelf
From KoaHub.js
@einsqing 看了文档感觉very cool
弱弱的问句,orm是啥。 自豪地采用 CNodeJS ionic
用过node-orm2,bookshelf,sequelize,现在sequelize的生态较其他的好,用的人多!一开始看文档都是各种日狗,说到底是英文不行!
@JZLeung 对象关系映射(Object Relation Mapping),把关系型数据库映射成对象模型,简单点讲就是一条数据看做一个对象,字段就是对象属性!
bookshelf 相比之下写着比较爽一点
sequelize 处理简单的我感觉还不错,但复杂的sql就不太方便了。这可能是orm的通病吧。
如果是 koa@1 我们用 https://github.com/d-band/koa-orm ,封装的 sequelize 和 squel
支持多数据库
const configs = [{ name: 'product', modelPath: join(__dirname, 'models/product'), db: 'db_product', username: 'root', password: 'pass', dialect: 'mysql', host: '192.168.1.11', port: 3306 }, { name: 'project', modelPath: join(__dirname, 'models/project'), db: 'db_project', username: 'root', password: 'pass', dialect: 'mysql', host: '192.168.1.22', port: 3306 }]; const orm = require('koa-orm')(configs); app.use(orm.middleware); // 使用方法 app.use(function* (next) { const { Product } = this.orm('product'); const { Project } = this.orm('project'); const products = yield Product.findAll(); const projects = yield Project.findAll(); });
可以直接写 SQL,支持裸写 SQL,也支持 SQL query api
// SQL query const foos = yield this.orm().sql .select() .field('name') .field('pass') .from('foo') .query(); const foos = yield this.orm() .query('select name,pass from foo;');
@mosaic101 不知道mongoose算不算。
@JZLeung 算的
waterline
@mosaic101 感觉mongoose挺好使得。
@stonephp sequelize文档还烂,那你不用看文档了
mongoose …其他,还有自己在mysql这个模块上扩充了json -》sql-》mysql的功能,,,也算orm 吧
@simdm Sequelize 我也看,不过4、5年了,基本上常见的90%的功能我都知道如何使用了。 Sequelize的使用问题,可以问我。
loopback orm ,自带超神光环
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
都也一般般,sequelize功能还算可以,文档比较烂。
bookshelf
From KoaHub.js
@einsqing 看了文档感觉very cool
弱弱的问句,orm是啥。 自豪地采用 CNodeJS ionic
用过node-orm2,bookshelf,sequelize,现在sequelize的生态较其他的好,用的人多!一开始看文档都是各种日狗,说到底是英文不行!
@JZLeung 对象关系映射(Object Relation Mapping),把关系型数据库映射成对象模型,简单点讲就是一条数据看做一个对象,字段就是对象属性!
bookshelf 相比之下写着比较爽一点
sequelize 处理简单的我感觉还不错,但复杂的sql就不太方便了。这可能是orm的通病吧。
如果是 koa@1 我们用 https://github.com/d-band/koa-orm ,封装的 sequelize 和 squel
支持多数据库
可以直接写 SQL,支持裸写 SQL,也支持 SQL query api
@mosaic101 不知道mongoose算不算。
@JZLeung 算的
waterline
@mosaic101 感觉mongoose挺好使得。
@stonephp sequelize文档还烂,那你不用看文档了
mongoose …其他,还有自己在mysql这个模块上扩充了json -》sql-》mysql的功能,,,也算orm 吧
@simdm Sequelize 我也看,不过4、5年了,基本上常见的90%的功能我都知道如何使用了。 Sequelize的使用问题,可以问我。
loopback orm ,自带超神光环