sailJs编写mysql自定义查询

时间:2015-08-10 11:27:30

标签: mysql node.js sails.js

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

sails generate api dentist 

我想编写自定义查询来获取数据。我无法弄清楚如何做同样的事情。

我可以通过 Model.query()来实现,但无法找到方法

这是我的模型文件

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

需要帮助。

2 个答案:

答案 0 :(得分: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的模型都可以用来调用查询。

答案 1 :(得分:2)

有两种方法可以执行查询:您可以使用查询语法执行此操作,在这种情况下,您不关心使用哪种模型,它适用于所有内容。

或者您可以使用水线提供的ORM:

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

在这种情况下,您需要使用包含答案的特定模型。 您可以在此处查看文档:{​​{3}}