【问题标题】:sailJs writing mysql custom queriesSails Js 编写 mysql 自定义查询
【发布时间】:2015-11-02 07:05:32
【问题描述】:

我在sailJs 中创建了一个API。通过发出获取请求,我可以使用 Ids 从数据库中找到数据

sails generate api dentist 

我想编写自定义查询来获取数据。我不知道该怎么做。

我可以通过 Model.query() 做到这一点,但无法弄清楚方法

这是我的模型文件

module.exports = {
tableName: 'user',
autoCreatedAt: false,
autoUpdatedAt: false,
attributes: {
name:{type: 'string'}
}
};

在这方面需要帮助。

【问题讨论】:

  • 我希望下面的答案有所帮助。如果您想要其他资源,这里有一个用于sails.js、node.js 和水线问题的聊天室。 gitter.im/balderdashy/sails

标签: mysql node.js sails.js


【解决方案1】:

有 2 种查询方式:要么按照您提到的方式执行查询,使用查询语法,在这种情况下,您不必在意使用哪种模型,它适用于所有情况。

或者你可以使用 waterline 提供的 ORM :

Dentist.find({ where: { name: 'theNameHere' }, limit: 10});

在这种情况下,您需要使用包含答案的特定模型。 你可以在这里查看文档:http://sailsjs.org/documentation/concepts/models-and-orm/query-language

【讨论】:

    【解决方案2】:

    找到答案后,我们可以在控制器中编写查询。

    方法如下,

    module.exports = {
     /*
        function to return  select data
     */
     getdata: function(req,res) {
        var key = req.body.name+"%";
        var post = [];
        post.push(key);
        Dentist.query('select * from where name like ? limit 10',post,function(err,result){
            return (!err)? res.ok(result) : res.ok({error:'error occured'});
        });
     }
    }
    

    我在这里注意到的另一件事是任何模块/api 的模型都可以用来调用查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-27
      • 2015-10-08
      • 2019-12-12
      • 1970-01-01
      • 2016-03-22
      • 2021-02-14
      • 1970-01-01
      • 2018-04-04
      相关资源
      最近更新 更多