删除不希望的字段在帆中返回

时间:2014-11-03 14:45:25

标签: mongodb sails.js waterline

我是SailsJS的新手并且坚持使用数据模型如下:
我有一个User模型如下:

module.exports = {
attributes: {
firstName: {
    type: 'string'
},
email: {
    type: 'email',
    required: true
},

password: {
    type: 'String'
},
passwordSalt: {
 type: 'String'
},
projects:{
 collection: 'ProjectMember',
 via: 'userId'
}  
}  
};  

任务模型:

module.exports = {  
 taskName: {  
  type: 'String'  
 },  
 userId: {  
    model: 'User'  
 }
};  

在任务模型中,它将获取User表中的所有字段,这些字段在呈现任务数据时不是必需的。我打算再创建一个名为TinyUser的模型,它只存储在呈现任务数据时要显示的必填字段。

但是TinyUser应该只引用User表并从中获取所需的数据,而不是在创建用户数据时手动为TinyUser创建所有数据。

在Sails中有什么办法可以实现吗? 在此先感谢..

2 个答案:

答案 0 :(得分:1)

我不确定您的问题,但这会返回任何模型所需属性的列表

_.find(sails.models.<YOUR MODEL>._attributes, function(attr){return attr.required})

如果您只想删除不需要的字段,则可以覆盖toJSON / toObject方法

https://github.com/balderdashy/waterline-docs/blob/master/models.md#toobjecttojson-instance-methods

答案 1 :(得分:0)

User.find({select:[&#39; firstName&#39;,&#39; email&#39;]})。exec()