在 v2 很多帖子都可以看到,Laravel 和 Rails 的 ORM 几乎是大家公认最好用的 ORM ,Sutando 就是他们在 Node.js 里的 “复刻版”,如果你之前用过 Laravel ,那你使用 Sutando 几乎没有学习成本,因为它们的使用起来几乎相同 (功能实现了 80%+)。
地址: https://github.com/sutandojs/sutando
文档: https://sutando.org
npm install sutando mysql2 --save
const { sutando, Model } = require('sutando');
// 连接信息
sutando.addConnection({
client: 'mysql2',
connection: {
host : '127.0.0.1',
port : 3306,
user : 'root',
password : '',
database : 'test'
},
});
const db = sutando.connection();
// 查询构造器
const users = await db.table('users').where('age', '>', 35).get();
// 模型定义
class User extends Model {}
// 查询
const users = await User.query().where('age', '>', 35).get();
// 新增
const user = new User;
user.name = 'David Bowie';
await user.save();
// 删除
await user.delete();
// 分页
const users = await User.query().paginate(1, 15);
// 关联预加载
const users = await User.query().with('posts').get();
// 关联条件
const users = await User.query().with({
posts: q => q.where('likes_count', '>', 100)
}).get();
// 关联延迟加载
await user.load('posts');
await users.load('posts');
最后:Welcome Star, PR and Issues !
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.