sequlize
2018-10-26 本文已影响0人
如果你还记得我是小双鱼
插入数据
User.create({
uid: 1233,
name: 'Json',
password: '13332'
})
查询数据
-
findAll()
- 查询部分属性
a. 查询属性(字段)可以通过传入一个嵌套数据进行重命名
// 查询属性(字段)id, uid User.findAll({ attributes: ['id', ['uid', 'myUid']] }) // { id: 1, myUid: 123 }
- 条件查询
// 条件查询 Model.findAll({ where: { attr1: { $gt: 50 // > 大于50 }, attr2: { $lte: 45 // < 小于45 }, attr3: { $in: [1,2,3] } attr4: { $ne: 5 // !==5 }, attr5: 'cake' } }) // WHERE attr1 > 50 AND attr2 < 45 AND attr3 in (1,2,3) AND attr4 !== 5 AND attr5 = 'cake'
- 聚合查询 sequelize.fn()
a. 在使用聚合函数时,要给聚合字段指定一个别名
b. 这样我们就能在查询的回调函数实例中通过instance.get('no_hats')来访问聚合统计的结果。
c. 当需要查询所有字段
并对某一字段
使用聚合查询时,而只需要以对象的形式传入attributes并添加include子属性即可。
Model.findAll({ attributes: [[sequelize.fn('COUNT', sequelize.col('hats') ), 'no_hats']] }); // 这样会比较简短,且在你添加/删除属性后不会出错 Model.findAll({ attributes: { include: [[sequelize.fn('COUNT', sequelize.col('hats')), 'no_hats']] } });
- 除去某个字段外查询全部字段
exclude
Model.findAll({ attributes: { exclude: ['baz'] } });
- 查询部分属性
-
findById()