我正在尝试创建一个小脚本,允许用户使用Pymongo和MongoDB登录和注册。我试图使用“Pinnacle”数据库并使用/创建一个名为“Users”的集合,但我似乎遇到了问题。当我跑的时候
use pinnacle
在mongodb shell中,它输出switched to db pinnacle
。然后我就跑
db.collection_names
它只是说pinnacle.collection_names
。这让我相信,在创建或使用集合时,我的代码中出现了某种错误。这是我的密码:
from pymongo import MongoClient
import sys
import os
import time
from passlib.hash import sha256_crypt
import pprint
client = MongoClient()
def login():
loginUsername = input('Please input username to be signed in.')
loginPassword = input('Please input password to be signed in.')
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,
"password": registerPassword,
"passwordhash": passwordHash
}
db = client.pinnacle
users = db.users
users.insert(regDetails)
# db.users.insert(regDetails)
for a in db.users.find():
pprint.pprint(a)
def checkRegistered():
print('Coming soon')
def quit():
os.system('clear')
print('Closing...')
time.sleep(3)
sys.exit()
def menu():
print('''
1. Login
2. Register new user
3. Check number of people registered in the database
4. Quit
Select an option.
''')
options = {'1': login, '2': registerAccount, '3': checkRegistered, '4': quit}
options[input()]()
while True:
menu()
谢谢你的帮助
在shell中,您可以使用以下命令列出当前数据库中的集合:
不是
db.collection_names
在Python中,执行以下操作:
注意括号:这是一个函数调用,不是属性
相关问题 更多 >
编程相关推荐