sailJs 编写 mysql 自定义查询

sailJs writing mysql custom queries

我在 sailJs 中创建了一个 API。在其中我可以通过获取请求

使用 ID 从数据库中找到数据
sails generate api dentist 

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

我可以Model.query()但想不出办法

这是我的模型文件

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

这方面需要帮助。

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

方法如下,

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'});
    });
 }
}

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

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

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

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

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