我正在嘗試更新我的用戶文檔以更改密碼,但是當(dāng)我將 bcrypt 哈希密碼傳遞為時(shí),mongodb 會(huì)忽略字段密碼$2a$10$lnTLIgnOWuoolOkqBfzcd.0pNLFtstX20p8KJNQmKkL.6D.W7Zu0a如果我刪除第一個(gè)$工作。我的更新功能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}我的更新函數(shù)調(diào)用// 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,實(shí)際上只是刪除了我的密碼密鑰,因?yàn)槲姨幚淼拿艽a是一個(gè)空值,如果我刪除了第一個(gè)$標(biāo)志,我的更新就成功了。
1 回答

開(kāi)滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
- 1 回答
- 0 關(guān)注
- 198 瀏覽
添加回答
舉報(bào)
0/150
提交
取消