PyMongo 是什么?
PyMongo 是 MongoDB 官方推出的 Python 驱动程序。它就像是咱们操作 MongoDB 的”遥控器”,让我们能用 Python 代码来完成数据库的增删改查等各种操作。无论是存储用户信息、处理日志数据,还是管理商品清单,PyMongo 都能帮咱们搞定!
安装 PyMongo
首先,咱们得把 PyMongo 请到咱们的”开发工具箱”里来。安装很简单,用 pip 就行:
pip install pymongo
创建你的第一个 PyMongo 连接
来看看怎么用 PyMongo 连接 MongoDB 并进行基本操作:
from pymongo import MongoClient
# 创建连接
client = MongoClient('mongodb://localhost:27017/')
# 选择数据库
db = client['my_database']
# 选择集合(类似 SQL 中的表)
collection = db['my_collection']
# 插入一条数据
data = {"name": "小明", "age": 18, "hobby": "编程"}
result = collection.insert_one(data)
print(f'插入的文档 ID: {result.inserted_id}')
# 查询数据
query = {"name": "小明"}
user = collection.find_one(query)
print(f'查询结果: {user}')
# 更新数据
new_values = {"$set": {"age": 19}}
collection.update_one(query, new_values)
# 删除数据
collection.delete_one(query)
首先创建了 MongoDB 的连接
选择要操作的数据库和集合
演示了增删改查四个基本操作
每个操作都很直观,跟说话一样自然
PyMongo 的高级查询
PyMongo 支持 MongoDB 的高级查询功能,来看个例子:
# 批量插入数据
students = [
{"name": "小明", "age": 18, "score": 90},
{"name": "小红", "age": 19, "score": 95},
{"name": "小华", "age": 18, "score": 85}
]
collection.insert_many(students)
# 复杂查询
results = collection.find(
{
"age": {"$gte": 18}, # 年龄大于等于 18
"score": {"$gt": 85} # 分数大于 85
}
).sort("score", -1) # 按分数降序排序
for student in results:
print(f"姓名: {student['name']}, 分数: {student['score']}")
使用聚合管道
MongoDB 的聚合管道功能特别强大,来看看怎么用:
# 计算每个年龄段的平均分数
pipeline = [
{
"$group": {
"_id": "$age",
"avg_score": {"$avg": "$score"},
"count": {"$sum": 1}
}
},
{
"$sort": {"avg_score": -1}
}
]
results = collection.aggregate(pipeline)
for result in results:
print(f"年龄: {result['_id']}, 平均分: {result['avg_score']:.2f}, 人数: {result['count']}")
提醒
记得在程序结束时关闭 MongoDB 连接:
client.close()
在实际项目中要注意数据库的安全性,建议使用用户名密码认证
对于大量数据的操作,要考虑使用批量操作来提高效率
记得处理可能出现的异常情况
© 版权声明
博主的文章没有高度、深度和广度,只是凑字数。利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章!如若有侵权,请联系博主删除。
喜欢就点个赞吧