程序在mongodb中搜索用户名和密码。如果我尝试使用正确的凭据,则该代码将包含在if语句中。如果我尝试使用错误的凭据登录,则代码未达到else语句。
我用elif语句尝试过:如果用户名和密码不在i.values()中
<pre><code class="python"># python code
from pymongo import MongoClient
import pymongo
import pprint
client = MongoClient('192.168.37.128:27017')
db = client.medewerkerdb
collection = db.medewerkerdb
username = input("Username: ")
password = input("Password: ")
cursor = db.medewerkerdb.find({'username': username,'password':password})
for i in cursor:
if username and password in i.values():
print("<h2>Welcome %s </h2>" % (username))`enter code here`
else:
print("Bad Password")
print("2")
print(i)
</code></pre>
程序以退出代码为0的进程结束
答案 0 :(得分:1)
如果cursor
的值为None
,则您的for
循环将不会启动。
for i in cursor:
...
编辑:也如评论中所述,您必须分别检查用户名和密码
if username in i.values() and password in i.values():
...