为什么。我的模型在Sails JS控制台中.query未定义?
在帆控制台中,我应该能够:
User.query("SELECT * FROM USER")
但是我得到undefined is not a function
,意思是.query
是未定义的。
我已经重新安装/更新了帆和水线,以及全球帆,我仍然得到同样的错误。
谢谢!
解决了它。 风帆文件表明使用:
{ ... adapter: 'sails-postgresql', ... }
但是sails-postgresql仍在使用旧的:
{ ... module: 'sails-postgresql', ... }
一旦我改变了,我开始看到通过服务器的query
并query
function成为我创build的模型下定义。
你是如何configuration模型的用户? 它使用哪个适配器?
.query方法仅在使用SQL适配器时才被允许。
首先你应该validation你的连接
#model module.exports.connections = { localMysql: { adapter: 'sails-mysql', user: 'root', host: 'localhost', database: 'someDbase' },
如果你运行例如
#EXAMPLE User.find().exec(function (error, res){ console.log(res) });
这将返回所有用户,稍后如果您不运行.exec(),您的查询将不会执行。
在这里你需要一个callback:
#CONTROLLER User.query("SELECT * FROM USER", function(err, results) { if (err) return res.serverError(err); return res.ok(results); });
如果你使用local.js来设置env。
检查env名称,应该是小写字母。
例如: – environment:process.env.NODE_ENV || “发展”
我得到同样的问题,我的env名称是“发展”,改为“发展”,工作正常。