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

Why is .query undefined on my model in Sails JS console?

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

User.query("SELECT * FROM USER")

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

我已经 reinstalled/updated 风帆和水线,以及全球风帆,但我仍然遇到同样的错误。

谢谢!

您是如何配置模型用户的?它使用的是哪个适配器?

。只有在使用 SQL 适配器时才允许使用查询方法。

解决了。 Sails 文档指示使用:

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

但是 sails-postgresql 仍在使用旧版本:

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

更改后,我开始看到服务器发出查询,并且 query 函数在我创建的模型下定义。

首先你应该验证你的连接

#model
    module.exports.connections = {
      localMysql: {
        adapter: 'sails-mysql',
        user: 'root',
        host: 'localhost',
        database: 'someDbase'
      },

如果你运行例如

#EXAMPLE
    User.find().exec(function (error, res){
    console.log(res)
    });  

这个return所有用户,以后如果你不运行.exec(),你的查询将不会执行。

这里需要回调:

#CONTROLLER
    User.query("SELECT * FROM USER", function(err, results) {
      if (err) 
         return res.serverError(err);
      return res.ok(results);
    });

如果您使用 local.js 设置环境。

检查环境名称,应该是小写字母。

EX:- 环境:process.env.NODE_ENV || 'development'

我遇到了同样的问题,我的环境名称是 'Development',更改为 'development' 并且工作正常。