description de la scène
Habituellement, lors de l'utilisation de PyMongo pour se connecter à la base de données MongoDB dans un environnement hors ligne, il est connecté à une base de données sans nom d'utilisateur ni mot de passe, alors comment se connecter à une base de données MongoDB (environnement en ligne) avec un nom d'utilisateur et un mot de passe ?
exemple de code
Première option
NOTE : Cette méthode a été supprimée dans PyMongo 4.x ! ! !
import pymongo
client = pymongo.MongoClient(host='host', port=27017)
# info_data 需要用户名和密码进行身份认证的数据库
db = client.info_data
# username:用户名;password:密码
db.authenticate('username', 'password')
print(db.list_collection_names())
Variante II
import pymongo
client = pymongo.MongoClient(
# 主机
host=host,
# 端口
port=port,
# 用户名
username=username,
# 密码
password=password,
# 需要用户名和密码进行身份认证的数据库
authSource='info_data'
)
db = client.info_data
print(db.list_collection_names())
troisième solution
import pymongo
client = pymongo.MongoClient('mongodb://username:password@host:port/?authSource=info_data')
db = client.info_data
print(db.list_collection_names())
nom d'utilisateur : nom d'utilisateur
mot de passe : mot de passe
hôte :
hôte port : port
info_data : base de données nécessitant un nom d'utilisateur et un mot de passe pour l'authentification