User.-6ren">
gpt4 book ai didi

javascript - Model.query() 返回 "undefined"错误

转载 作者:行者123 更新时间:2023-11-30 16:22:42 25 4
gpt4 key购买 nike

在 Sailsjs 控制台上,我尝试使用 Waterline/Sails 的 query() 执行原始 SQL 查询 MySQL 数据库上的方法。但是,我不断收到错误消息:

 
sails> User.query('SELECT id from user').exec(console.log)
TypeError: Cannot call method 'exec' of undefined
at repl:1:37
at REPLServer.self.eval (repl.js:112:21)
at Interface. (repl.js:239:12)
at Interface.emit (events.js:117:20)
at Interface._onLine (readline.js:203:10)
at Interface._line (readline.js:532:8)
at Interface._ttyWrite (readline.js:761:14)
at ReadStream.onkeypress (readline.js:100:10)
at ReadStream.emit (events.js:98:17)
at emitKey (readline.js:1096:12)

运行 Waterline 的其他方法,例如 find() 执行成功。

 
sails> User.find().exec(console.log)
undefined
sails> null [ { email: 'xxxx',
password: 'xxxxx',
name: 'xxxx',
}]

Internet 搜索表明连接应使用 sails-mysql 适配器;这就是我正在使用的,问题仍然存在。

我的config/connections.js 文件

 
module.exports.connections = {
default_dev_mysql_server: {
adapter: 'sails-mysql',
host: '127.0.0.1',
port: 3306,
user: 'xxxxx',
password: 'xxxxx',
database: 'xxxxxx'}
}

我的config/models.js 文件

 
module.exports.models = {
schema: true,
connection: 'default_dev_mysql_server',
migrate: 'safe'

};

我正在运行 sails-mysql v0.11.2sails v0.11.2,它们是最稳定的软件版本。

为了能够在 Sailsjs 上执行原始 SQL 查询,我还缺少哪些其他设置? Google 的帮助不大。

谢谢。

最佳答案

exec 在使用 ORM 功能时是必需的,因为在内部,它会构建一个 SQL 语句,以便在稍后阶段执行 exec。另一方面,query 接受一个字符串 SQL 语句和一个回调作为它的参数,并且对 exec 没有用处,因此它是未定义的。试试这个:

User.query('SELECT id from user', function(err, res){
console.log(err, res);
});

关于javascript - Model.query() 返回 "undefined"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34522347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com