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

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"])
http://www.xdnf.cn/news/4417.html

相关文章:

  • Spring Boot 中如何解决 CORS 问题(详解)
  • 【Java ee 初阶】多线程(9)上
  • Redis从入门到实战 - 高级篇(上)
  • day 14 SHAP可视化
  • Android学习总结之Binder篇
  • 空间数据分析新趋势:AI 与 ArcGIS Pro 的协同创新
  • 从零开始学习three.js(15):一文详解three.js中的纹理映射UV
  • 经典密码学算法实现
  • Apache Calcite 详细介绍
  • 2025年五一假期旅游市场新趋势:理性消费、多元场景与科技赋能
  • MySQL关于锁的面试题
  • 第十节:图像处理基础-图像算术运算 (加法、减法、混合)
  • C++ 的未来趋势与挑战:探索新边界
  • 【车辆OTA技术全景解析:从原理到应用开发实践】
  • 【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)
  • hadoop的序列化
  • docker创建一个centOS容器安装软件(以宝塔为例)的详细步骤
  • 【Java项目脚手架系列】第三篇:Spring MVC基础项目脚手架
  • blender云渲染指南2025版
  • 【Rust模块管理】Rust包、crate与模块管理
  • WSL 的 Ubuntu 子系统中启用图形化界面
  • 处理PostgreSQL数据库事务死锁过程
  • 极狐Gitlab 如何创建并使用子群组?
  • 5月7号.
  • ESP32- 开发笔记- 软件开发 6 蓝牙协议栈 1
  • console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI
  • 屏幕炫光也能轻松应对,远程控制电脑可以避免裂痕碍眼
  • 白杨SEO:如何查看百度、抖音、微信、微博、小红书、知乎、B站、视频号、快手等7天内最热门话题及流量关键词有哪些?使用方法和免费工具推荐以及注意事项【干货】
  • NX二次开发——BlockUI 弹出另一个BlockUI对话框
  • 深入了解linux系统—— 进程控制