我用猫鼬将用户名和密码保存到数据库中。 保存成功后,我想将此记录返回给客户端。 但是我不应该返回密码。 如何删除指定的属性?
'use strict';
// POST https://example.com/api/v1/user
async create(postData) {
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const UserSchema = new Schema({
username: String,
password: String,
});
const UserModel = mongoose.model('User', UserSchema);
const UserEntity = new UserModel({
username: postData.username,
password: postData.password,
});
// save to Database
const result = await UserEntity.save();
// Only return username, no password returned
if (result) {
delete result.password;
}
return result;
// console:
// {
// username: 'tom'
// password: '123456' // This property is still being returned.
// }
}
如您所见,delete
函数不起作用。
我应该如何解决。
答案 0 :(得分:0)
由于result
是猫鼬文档,因此您需要先使用result = result.toJSON()
,然后delete result.password;
才能正常工作。