我正在尝试更新我的用户文档以更改密码,但是当我将 bcrypt 哈希密码传递为时,mongodb 会忽略字段密码$2a$10$lnTLIgnOWuoolOkqBfzcd.0pNLFtstX20p8KJNQmKkL.6D.W7Zu0a如果我删除第一个$工作。我的更新功能func (r Repo) Update(id string, updUsr interface{}) (User, error) { // uid work filter := bson.M{"_id": bson.M{"$eq": uid}, "deleted_at": nil} update := []bson.D{ {primitive.E{ Key: "$set", Value: updUsr, }}, {primitive.E{ Key: "$addFields", Value: bson.D{primitive.E{ Key: "modified_at", Value: time.Now(), }}, }}, } res := r.col.FindOneAndUpdate( r.ctx, filter, update, ) if res.Err() != nil { // err } // decode work return u, nil}我的更新函数调用// doesn't workupdPwd := password{ Password: "$2a$10$lnTLIgnOWuoolOkqBfzcd.0pNLFtstX20p8KJNQmKkL.6D.W7Zu0a",}// working version updPwd := password{ Password: "2a$10$lnTLIgnOWuoolOkqBfzcd.0pNLFtstX20p8KJNQmKkL.6D.W7Zu0a",}_, err = us.Update(uid, updPwd)if err != nil { // err}我不知道如何将我的哈希变量传递给 mongodb,实际上只是删除了我的密码密钥,因为我处理的密码是一个空值,如果我删除了第一个$标志,我的更新就成功了。
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消