我正在使用Sails.js构建API
目前我正在执行原始sql请求以查找状态列表:
Status.query("SELECT Status.* FROM Status,User where Status.user = User.id and User.isPrivate = false group by status.id order by status.id desc limit "+limit+" offset "+offset, function(err, status) {
if(err) return next(err);
console.log(status)
console.log(res)
res.json(200,status);
});
2个问题:
1-这是原始SQL所以我将无法切换到Mango或其他任何东西,因为我的代码链接到我的数据库选择 2- Model.find自动加载关系(这里是Status.user和Status.find)和原始sql只加载ID
2-我正在寻找使用Model.Find构建“复杂”请求的语法,让我得到与原始sql完全相同的结果,并且还可以执行类似
的操作AND:
[
{
or:
[
{a=1,b=2},
{a=2,b=1}
]
},
{c=6}
]
答案 0 :(得分:3)
好的,我成功找到了怎么办!
所以目标是转换此请求:
Status.query("SELECT Status.* FROM Status,User where Status.user = User.id and User.isPrivate = false group by status.id order by status.id desc limit "+limit+" offset "+offset, function(err, status) {
if(err) return next(err);
console.log(status)
console.log(res)
res.json(200,status);
});
在mysql状态下使用Sails.js语法的Model.find请求。你去了:(没有分页,但很容易找到怎么做)
Status.find({}).populate('user',{isPrivate:'false'}).exec(function(status,err){
if(err) return next(err);
console.log(status)
console.log(res)
res.json(200,status);
});
玩得开心!