我是sails.js 的新手。似乎sails.js 无法为选择表的某些字段/列进行SQL 查询。查询似乎都是“select *”。
问问题
4421 次
4 回答
9
我刚刚找到了一种方法来实现这一点。我正在使用 Model.find 的第二个参数
Model.find({field: 'value'}, {fields: ['id', 'name']})
如果将字段设置为 false,它会模拟 SELECT *
Model.find({field: 'value'}, {fields: false})
一个完整的例子:
Model.find({field: 'value'}, {fields: ['id', 'name']})
.paginate({page: 1}, {limit: 10)
.exec(function(err, results) {
if(err) {
res.badRequest('reason');
}
res.jsonx(results);
});
于 2014-10-30T18:42:45.537 回答
8
字段不再起作用,您必须改用 select。
Model.find({field: 'value'}, {select: ['id', 'name']})
.paginate({page: 1}, {limit: 10})
.exec(function(err, results) {
if(err) {
res.badRequest('reason');
}
res.json(results);
});
于 2015-06-22T16:53:59.460 回答
1
目前没有 WaterlineSELECT
实现,但您可以使用Model.query(sqlQuery, callback)
它在数据库上运行原始 SQL 查询。
例如:
User.query('SELECT email, username FROM users WHERE id = 10;', function (err, users) {
// stuff
});
于 2013-11-30T13:33:38.737 回答
0
我使用sails 0.12,我的想法是:每当使用.populate 或.paginate(使用.find)时,都应该使用'select'。对于其他情况,应该使用'fields'
于 2016-08-23T13:56:25.873 回答