为什么。我的模型在Sails JS控制台中.query未定义?

在帆控制台中,我应该能够:

User.query("SELECT * FROM USER") 

但是我得到undefined is not a function ,意思是.query是未定义的。

我已经重新安装/更新了帆和水线,以及全球帆,我仍然得到同样的错误。

谢谢!

解决了它。 风帆文件表明使用:

 { ... adapter: 'sails-postgresql', ... } 

但是sails-postgresql仍在使用旧的:

 { ... module: 'sails-postgresql', ... } 

一旦我改变了,我开始看到通过服务器的queryqueryfunction成为我创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名称是“发展”,改为“发展”,工作正常。