You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sequelize
.query('SELECT * FROM projects', {
model: Projects,
mapToModel: true // 如果有任何映射字段,则在这里传递true
})
.then(projects => {
// Each record will now be an instance of Project
})
sequelize原生语句具体使用实例
看一段我在开发过程中怎么使用的原生语句查询
代码如下:
let sqlRank = `SELECT userspk.avatar AS user_avatar,
userspk.gender AS user_gender,
userspk.nickname AS user_nickname,
a.id AS pk_record_id,
a.user_id,
a.answer_record,
a.pk_type,
MAX(score) AS score,
a.create_time
FROM (select * from pkrecord order by score desc,create_time asc) as a
INNER JOIN userspk AS userspk
ON a.user_id = userspk.user_id
WHERE a.status = 1
AND a.pk_type = 'noreal'
AND a.subject_id = :subject_id
GROUP BY user_id
ORDER BY a.score DESC
LIMIT 3;`
let pkRankResult= await ctx.main.query(sqlRank, {
replacements: {
subject_id: subject_id,
},
type: Sequelize.QueryTypes.SELECT }
);
前言:
最近写的一个接口需要用到子查询,并且子查询的结果并不是可以在另外一个查询语句中直接当作in的选项,没办法区sequelize官网上看了一下如何直接使用原生语句
sequelize文档内容翻译
看一段官网中代码例子,一一说明
sequelize中提供了query函数,用于直接操作原生语句
该函数将返回两个参数 - 结果数组和包含元数据的对象,对于mysql将是返一对象的两个引用。
query函数的第二个参数,是一个对象,对象里面几个常用参数进行说明。
记录结果集。如果为false,则返回所有记录。
是否会为发送的每个SQL查询调用
到服务器。
对于查找条件where后面的字段
对于替换where后面的变量,也可以使用in关键字从数组匹配,也可以使用通配符like%等
代码如下:
sequelize原生语句具体使用实例
看一段我在开发过程中怎么使用的原生语句查询
代码如下:
附件:
官网中原生语句查询地址:
http://docs.sequelizejs.com/manual/raw-queries.html
The text was updated successfully, but these errors were encountered: