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
我在 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