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