admin管理员组文章数量:1289702
Looking for a way to remove object properties before sending them to the front-end.
Is there any reason why this is working:
var obj = {
name: 'cris',
age: 22,
}
console.log(obj) //output name, age
delete obj.name
console.log(obj) //output age
and this isn't:
User.findOne({ username: req.query.username }, function (err, user) {
if (user != null) {
console.log(user) //output all props
delete user.salt || delete user['salt']
console.log(user) //output all props
}
});
Looking for a way to remove object properties before sending them to the front-end.
Is there any reason why this is working:
var obj = {
name: 'cris',
age: 22,
}
console.log(obj) //output name, age
delete obj.name
console.log(obj) //output age
and this isn't:
User.findOne({ username: req.query.username }, function (err, user) {
if (user != null) {
console.log(user) //output all props
delete user.salt || delete user['salt']
console.log(user) //output all props
}
});
Share
Improve this question
asked May 23, 2017 at 7:24
Cristian MuscaluCristian Muscalu
9,93512 gold badges48 silver badges85 bronze badges
4 Answers
Reset to default 7user
is a Mongoose document and not a regular object.
You can convert it to one using toObject()
:
user = user.toObject();
to use delete you would need to convert the model document into a plain JavaScript object by calling toObject:
User.findOne({ username: req.query.username }, function (err, user) {
if (user != null) {
console.log(user) //output all props
user = user.toObject();
delete user.salt || delete user['salt']
console.log(user) //remove salt prop
}
});
also you can modify uses this
User.findOne({}, function(err, user){
user.key_to_delete = undefined;
user.save();
});
Mongoose is returning an instance of model and not a plain JS object you are looking for. The data you are looking for that can be accessed by using user.toObject()
.
The db.collection.findOne() method returns a cursor. you need to convert to object using toObject(). use user.toObject() and then delete and send it to client.
本文标签: javascriptmongoose removing properties from objectStack Overflow
版权声明:本文标题:javascript - mongoose removing properties from object - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741484969a2381357.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论