如何在更新findOne结果时从mongodb中删除键值对?

时间:2017-06-09 12:12:10

标签: mongoose

user.findOne(params,(err,user){   
    if(user){  
        user.password=password;
        delete user['otp'];
        user.save(callback);
    }
})

我的用户模型有以下字段

  1. USER_ID:字符串
  2. OTP:编号
  3. 密码:字符串
  4. 我想删除otp更新时的password字段 即。更新后,db应该有useridpassword

1 个答案:

答案 0 :(得分:2)

要从文档中删除otp密钥,请将路径设置为undefined并保存它:

user.findOne(params, (err, user){
  if (user) {
    user.password = password;
    user.otp = undefined;
    user.save(callback);
  }
});