当前位置: 首页 > news >正文

python 使用 mongodb 的一些方法

1. 安装 pymongo

首先,确保你已经安装了 pymongo 库:

pip install pymongo

2. 连接 MongoDB

创建一个简单的脚本来连接到 MongoDB:

from pymongo import MongoClientclient = MongoClient('mongodb://localhost:27017/')
db = client['example_db']
collection = db['users']

3. 插入数据

插入单个文档
user = {"name": "Alice", "age": 30, "city": "New York"}
result = collection.insert_one(user)
print("Inserted document with id:", result.inserted_id)
插入多个文档
users = [{"name": "Bob", "age": 25, "city": "San Francisco"},{"name": "Charlie", "age": 35, "city": "Los Angeles"}
]
result = collection.insert_many(users)
print("Inserted documents with ids:", result.inserted_ids)

4. 查询数据

查询单个文档
user = collection.find_one({"name": "Alice"})
print("Found user:", user)
查询多个文档
results = collection.find({"city": "New York"})
for user in results:print("User:", user)

5. 更新数据

更新单个文档
new_values = {"$set": {"age": 31}}
result = collection.update_one({"name": "Alice"}, new_values)
print("Modified documents count:", result.modified_count)
更新多个文档
new_values = {"$set": {"city": "New York"}}
result = collection.update_many({"city": "Los Angeles"}, new_values)
print("Modified documents count:", result.modified_count)

6. 删除数据

删除单个文档
result = collection.delete_one({"name": "Alice"})
print("Deleted documents count:", result.deleted_count)
删除多个文档
result = collection.delete_many({"city": "New York"})
print("Deleted documents count:", result.deleted_count)

7. 使用聚合管道

计算每个城市的用户数
pipeline = [{"$group": {"_id": "$city", "count": {"$sum": 1}}}
]
results = collection.aggregate(pipeline)
for doc in results:print("City:", doc["_id"], "Count:", doc["count"])

相关文章:

  • 综述:语言模型的发展及大模型推理优化
  • 5. HTML 转义字符:在网页中正确显示特殊符号
  • MongoDB培训文档大纲(超详细)
  • 2025-05-07-FFmpeg视频裁剪(尺寸调整,画面比例不变)
  • PDF解析新范式:Free2AI工具实测
  • MySQL CTE (Common Table Expressions) 详解
  • 【前端基础】6、CSS的文本属性(text相关)
  • CSS详细学习笔记
  • FAST-LIO笔记
  • SPL量化 BBIC(多空指标)
  • 代码随想录第36天:动态规划9(序列问题)
  • 机器学习简单概述
  • Open CASCADE学习|ApplicationFramework 框架使用指南
  • 数字化转型-4A架构之应用架构
  • IvorySQL 再次走进北京大学研究生开源公选课
  • ICode国际青少年编程竞赛—Python—4级训练场—复杂嵌套循环
  • Golang的linux运行环境的安装与配置
  • Spark和Hadoop之间的联系
  • 【大模型系列篇】探索面壁小钢炮最强多模态端侧大模型 MiniCPM-o
  • Linux57配置MYSQL YUM源
  • 河北邯郸一酒店婚宴发生火灾:众人惊险逃生,酒店未买保险
  • 西甲上海足球学院揭幕,用“足球方法论”试水中国青训
  • 4月金融数据前瞻:受去年低基数因素影响,社融增量有望同比大幅多增
  • “浦东时刻”在京展出:沉浸式体验海派风情
  • 欧洲承诺投资6亿欧元吸引外国科学家
  • 上海充电桩调研:须全盘考量、分步实现车网互动规模化