Sye*_*yed 2 javascript mongoose mongodb node.js mongodb-query
我已经定义了一个类似的模式
var UserSchema = new Schema({
firstName: { type: String, required: true },
lastName: { type: String, required: true },
email: { type: String, required: true },
location: { type: String, required: true },
picture: { type: String, required: true },
passwordHash: { type: String, required: true },
resetPasswordToken: String,
resetPasswordExpired: Boolean
});
Run Code Online (Sandbox Code Playgroud)
我有一个REST端点,它返回所有用户的列表.在该列表中我想隐藏一些属性,即passwordHash, resetPasswordToken, resetPasswordExpired
我定义了一个自定义过滤函数,如下所示
var doFilterUser = function(user) {
_.omit(user, ['passwordHash', 'resetPasswordToken', 'resetPasswordExpired']);
user.id = user._id;
delete user._id;
delete user.__v;
return user;
};
Run Code Online (Sandbox Code Playgroud)
_ 是lodash
当我检查我的API是否响应所有用户属性
这个过滤器函数在公共帮助器模块中定义,我称之为
User.findOne({_id: id}, function(err, user) {
var filtered = helper.doFilterUser(user);
});
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
小智 5
试试这个:你可以通过mongoose访问某些值.
User.findOne({_id: id}, 'firstName lastName email location picture', function(err, user){
console.log(user);
Run Code Online (Sandbox Code Playgroud)
});
您只需在查询后提及所需的字段.
希望能帮助到你....
| 归档时间: |
|
| 查看次数: |
2655 次 |
| 最近记录: |