要解決pymongo連接認證失敗(auth failed)的問題,需要遵循以下步驟:
確保MongoDB服務器已啟用身份驗證。默認情況下,MongoDB不會啟用身份驗證,因此需要在MongoDB服務器上配置訪問控制。
在MongoDB服務器上創建一個用戶,用于連接和進行身份驗證。可以使用以下命令在Mongo shell中創建用戶:
db.createUser({
user: "username",
pwd: "password",
roles: [{ role: "readWrite", db: "database_name" }]
})
將 “username” 替換為所需的用戶名,“password” 替換為所需的密碼,“database_name” 替換為要連接的數據庫的名稱。可以根據需要為用戶授予不同的角色和權限。
from pymongo import MongoClient
username = "username"
password = "password"
database_name = "database_name"
client = MongoClient("mongodb://{}:{}@localhost:27017/{}".format(username, password, database_name))
db = client[database_name]
將 “username” 替換為上一步中創建的用戶名,“password” 替換為上一步中創建的密碼,“database_name” 替換為上一步中創建的數據庫名稱。確保將"localhost:27017"替換為正確的MongoDB服務器地址和端口號。
如果仍然遇到連接認證失敗的問題,請確保在步驟1和步驟2中正確配置了MongoDB服務器的訪問控制和用戶憑據,并且在步驟3中正確提供了用戶名、密碼和數據庫名稱。