Rob*_*Rob 8 node.js express sails.js waterline
我想提出一个请求:
User.find().exec(function(){});
Run Code Online (Sandbox Code Playgroud)
我知道我可以toJSON
在模型中使用但是我不喜欢这种方法,因为有时我需要不同的参数.例如,如果是登录用户,我将返回他们的电子邮件和其他参数.然而,如果请求相同的数据由不同的用户做出,则它将不包括电子邮件和较小的参数子集.
我也尝试过使用:
User.find({}, {username:1}) ...
User.find({}, {fields: {username:1}});
Run Code Online (Sandbox Code Playgroud)
但没有运气.如何指定我需要返回的字段?
Rob*_*Rob 12
所以实际上找到了一个奇怪的解决方法.的fields
,只要你通过其他PARAMS它如参数会顺利limit
或order
:
User.find({}, {fields: {username:1}}).limit(1);
Run Code Online (Sandbox Code Playgroud)
请注意,这不适用于findOne或任何单一返回类型.这意味着在结果回调中你需要做用户[1].
当然,另一种选择是在出路时擦除您的数据,如果您使用大量项目,这将是一个痛苦.因此,如果任何内容适用于您可能实际设置的大型列表,limit(20)
对于单个项目,您可以直接返回para,直到select()
可用.
jem*_*oii 11
这是对问题的更新,字段不再用于风帆11,请使用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);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5441 次 |
最近记录: |