下面是完整的“Python连接MongoDB密码认证实例”攻略:
一、前提准备
- 安装MongoDB数据库
- 安装Python编程语言
- 安装pymongo库(需要用到pip命令)
二、创建MongoDB用户
在进行MongoDB的密码认证之前,需要先创建一个MongoDB用户,用户的信息包括用户名和密码。具体步骤如下:
-
打开MongoDB客户端,并连接到数据库。
-
使用管理员账号登录,切换到admin数据库。
use admin
db.auth("admin", "password") // 登录管理员账号
- 创建一个MongoDB用户,并将其赋予root角色(root角色拥有最高权限)。
db.createUser({
user: "username",
pwd: "password",
roles: [{ role: "root", db: "admin" }]
})
- 创建完成后,退出MongoDB客户端。
三、Python连接MongoDB
在Python中使用pymongo库连接MongoDB数据库需要指定相关参数,包括:
- 主机名/IP地址
- 端口号(默认为27017)
- 数据库名称
- 用户名
- 密码
示例如下:
import pymongo
# 定义MongoDB的连接参数
host = "localhost"
port = 27017
database_name = "my_database"
username = "username"
password = "password"
# 创建MongoDB客户端
client = pymongo.MongoClient(host, port)
# 认证并获取指定数据库的集合
db = client[database_name]
db.authenticate(username, password)
collection = db["my_collection"]
以上代码的作用是创建一个MongoDB客户端,连接到指定的主机和端口号,然后使用指定的用户名和密码认证,并获取指定数据库的集合。
四、示例说明
下面是两个示例说明:
示例1:插入数据
import pymongo
# 定义MongoDB的连接参数
host = "localhost"
port = 27017
database_name = "my_database"
username = "username"
password = "password"
# 创建MongoDB客户端
client = pymongo.MongoClient(host, port)
# 认证并获取指定数据库的集合
db = client[database_name]
db.authenticate(username, password)
collection = db["my_collection"]
# 插入一条数据
data = {"name": "张三", "age": 20}
collection.insert_one(data)
在以上示例中,首先创建了一个MongoDB客户端并认证,然后获取指定数据库的集合,并插入一条数据。
示例2:查询数据
import pymongo
# 定义MongoDB的连接参数
host = "localhost"
port = 27017
database_name = "my_database"
username = "username"
password = "password"
# 创建MongoDB客户端
client = pymongo.MongoClient(host, port)
# 认证并获取指定数据库的集合
db = client[database_name]
db.authenticate(username, password)
collection = db["my_collection"]
# 查询数据
data = collection.find_one({"name": "张三"})
print(data)
在以上示例中,同样首先创建了一个MongoDB客户端并认证,然后获取指定数据库的集合,并使用find_one方法查询name字段等于“张三”的数据,并打印查询结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python连接mongodb密码认证实例 - Python技术站