0
我想從MongoDB中檢索一個值,並在Python中用MongoDB設置一個字符串。這裏是我的用戶註冊功能:從MongoDB中檢索一個值並在Python中設置一個字符串(Pymongo)
def registerAccount():
registerUsername = input('Please input a username to be registered into our database.')
registerPassword = input('Please input a password to be entered into our database.')
passwordHash = sha256_crypt.hash(registerPassword)
regDetails = {
"username": registerUsername,
"passwordhash": passwordHash
}
db = client.pinnacle
users = db.users
users.insert(regDetails)
,這裏是我的登錄功能:
def login():
db = client.pinnacle
users = db.users
pwHash = users.find_one({"passwordhash"})
print(str(pwHash))
loginUsername = input('Please input username to be signed in.')
loginPassword = input('Please input password to be signed in.')
# pprint.pprint(users.find_one({"username": "1"}))
# example = users.find_one({"username": "1"})
pbkdf2_sha256.verify(loginPassword, pwHash)
基本上,我需要的是用戶名後立即在數據庫中搜索用戶名,並獲得字符串passwordHash。然後我將設置pwHash到將用PassLib檢查的字符串。幫助表示讚賞。謝謝! 另外,如果任何人有興趣,你可以看到我的完整代碼here。
你的意思是'user = users.find_one({「userName」:loginUsername})'然後'pbkdf2_sha256.verify(loginPassword,user ['passwordhash'])''。當然,只要你提供了'loginUsername'輸入,你實際上只能從數據庫中「檢索」。否則,你不知道你實際獲得了哪些數據。 –
@NeilLunn嘿男人,欣賞幫助。我將其添加到我的腳本中,現在我得到了一個不同的錯誤。這裏的細節因爲不適合評論:https://hastebin.com/enekadehiw.py – ByteSize