MongoDB:如何使用PyMongo连接有用户名和密码的数据库?

场景描述

平时在线下环境使用PyMongo连接MongoDB数据库时都是连接的没有用户名和密码的数据库,那么对于有用户名和密码的MongoDB数据库(线上环境)又该怎么连接呢?

代码示例

方案一

注意:该方法在 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())

方案二

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())

方案三

import pymongo

client = pymongo.MongoClient('mongodb://username:password@host:port/?authSource=info_data')
db = client.info_data
print(db.list_collection_names())

username:用户名
password:密码
host:主机
port:端口
info_data:需要用户名和密码进行身份认证的数据库

猜你喜欢

转载自blog.csdn.net/qq_34562959/article/details/121497032