nodejs-koa2整合sequelize
本文于 706 天之前发表,文中内容可能已经过时。
概述
使用koa的sequelize查询数据的时候,用await的写法不能满足我的需求,我只要查询部分数据,并将数据库的表的列名从下划线改为驼峰,所以百度到sequelize的官网可以使用原始的sql语句。
正文
问题
使用koa的sequelize查询数据的时候,用await的写法:
1 | (async () => { |
不能满足我的需求,我只要查询部分数据,并将数据库的表的列名从下划线改为驼峰,所以百度到sequelize的官网可以使用原始的sql语句。
https://itbilu.com/nodejs/npm/VkYIaRPz-.html#induction
解决方案
使用sequelize.query() - 执行查询:
1 | sequelize.query("SELECT...").spread(function (results, metadata) { |
来满足我的要求,但是我使用sequelize.query的时候
总是报错sequelize.query() is not a function,然后我发现找了好久,把sequelize重新装,更新到最新版本都会继续报这个错,然后重新把所有代码按sequelize的api文档的安装方法重新写了一个小demo,后面发现成功了。
然后我又在项目上重新写了一遍发现还是继续报这个错,然后我重新检查了下代码,发现报错是发生再db.js(间接定义model那个js)上,没把sequelize给exports出去,
导致如果直接调用sequelize.query()的时候会报错,所以我把db.js的sequelize放入导出对象中,
再在index.js中引入db,再使用sequelize.query()就不会报错了。