[英]mongoose removing properties from object
尋找一種在將對象屬性發送到前端之前刪除對象屬性的方法。
有什么理由可以解決這個問題:
var obj = {
name: 'cris',
age: 22,
}
console.log(obj) //output name, age
delete obj.name
console.log(obj) //output age
這不是:
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
}
});
Mongoose返回的是模型實例,而不是您正在尋找的普通JS對象。 可以使用user.toObject()
訪問您要查找的數據。
db.collection.findOne()方法返回一個游標 。 你需要使用toObject()轉換為對象。 使用user.toObject()然后刪除並將其發送到客戶端。
要使用delete,您需要通過調用toObject將模型文檔轉換為純JavaScript對象:
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
}
});
你也可以修改使用它
User.findOne({}, function(err, user){
user.key_to_delete = undefined;
user.save();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.