新闻中心

python如何连接mongodb

2025-12-08
浏览次数:
返回列表
Python连接MongoDB主要用pymongo库,步骤为安装→创建客户端→连接数据库→操作集合;支持本地默认连接、带认证的远程URI及TLS加密,需注意authSource、tls和超时参数配置。

python如何连接mongodb

Python 连接 MongoDB 主要用 pymongo 库,这是官方推荐的驱动,支持同步操作(也兼容异步 via motor)。核心步骤是:安装库 → 创建客户端 → 连接数据库 → 操作集合。

安装 pymongo

在终端或命令行中运行:

  • pip install pymongo

如需连接带身份验证或 TLS 的集群(比如 MongoDB Atlas),还需确保系统已安装 OpenSSL,并可能需要额外依赖(如 certifi)。

基础连接方式(本地默认端口)

最简连接示例:

from pymongo import MongoClient
<h1>连接本地 MongoDB(默认 host=localhost, port=27017)</h1><p>client = MongoClient()</p><h1>或显式指定</h1><h1>client = MongoClient('mongodb://localhost:27017/')</h1><p>db = client['mydatabase']     # 选择数据库(不存在会自动创建)
collection = db['users']      # 选择集合(类似表)

注意:MongoDB 不会在连接时校验数据库是否存在,只有执行写入或查询时才真正触发。

AdMaker AI AdMaker AI

从0到爆款高转化AI广告生成器

AdMaker AI 65 查看详情 AdMaker AI

带认证和远程地址的连接

连接云服务(如 Atlas)或启用了用户名密码的本地实例:

# 格式:mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
uri = "mongodb+srv://user:pass@cluster.mongodb.net/?retryWrites=true&w=majority"
client = MongoClient(uri)
<h1>或普通 URI(非 srv)</h1><h1>uri = "mongodb://admin:123456@192.168.1.100:27017/admin?authSource=admin"</h1><p>

关键参数说明:

  • authSource:指定存储用户凭证的数据库(通常是 admin
  • tls=True?tls=true:启用 SSL/TLS(Atlas 必须)
  • serverSelectionTimeoutMS=5000:设置连接超时(毫秒),避免卡死

简单读写测试

连上后可以快速验证是否正常:

# 插入一条
collection.insert_one({"name": "Alice", "age": 30})
<h1>查询一条</h1><p>doc = collection.find_one({"name": "Alice"})
print(doc)  # {'_id': ObjectId(...), 'name': 'Alice', 'age': 30}</p><h1>关闭连接(脚本结束前建议调用)</h1><p>client.close()

注意:_id 字段会由 MongoDB 自动添加,类型是 ObjectId;如需自定义主键,插入时可显式指定字符串或整数。

基本上就这些。不复杂但容易忽略认证参数和超时设置,尤其上线时务必加上 serverSelectionTimeoutMStls 配置。

以上就是python如何连接mongodb的详细内容,更多请关注其它相关文章!


# 这是  # 湖南快手营销推广排名  # 中山机械网站SEO优化  # 南京百度网站推广  # 洛阳泰安网站优化费用  # 无锡专业网站seo报价  # 便宜点的网站建设  # 网络营销的网址推广  # 龙溪网站关键词优化推广  # 不需要推广涨流量的网站  # 营销推广有哪些主要特征  # 相关文章  # 会在  # 连接数据库  # word  # 考试试卷  # 客户端  # 中带  # 自动生成  # 如需  # 文档  # .net  # ssl  # 端口  # 云服务  # mongodb  # go  # python 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析  Node.js CSV 数据处理:基于字段值条件过滤整条记录的策略  必由学官方平台入口 必由学在线课堂登录地址  俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口  字由网在线版登录地址 字由网网页版安全入口  PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract  C++如何打印当前代码行号与文件名_C++预定义宏FILE与LINE的使用  C++ string find函数返回值npos详解_C++字符串查找失败的判断条件  天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】  如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构  C#使用XPath查询节点时出错? 常见语法错误与调试技巧  蛙漫漫画免费阅读入口_蛙漫官方正版无广告纯净版  C++如何操作注册表_Windows平台下C++读写注册表的API函数详解  J*aScript打印功能_j*ascript输出控制  Log4j Console Appender性能瓶颈与高并发优化策略  拼多多视频播放卡顿如何处理 拼多多视频播放优化技巧  age动漫网站入口 age动漫官网直接访问入口  葱吃多了会怎样 葱吃多了会伤胃吗  Pandas DataFrame:高效添加条件计算列  学习通网页版官方登录 超星学习通电脑端入口指南  python3时间如何用calendar输出?  sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件  漫画星球免费下拉式入口 漫画星球免费漫画在线阅读网站  小米14应用无法联网原因分析_小米14网络权限修复  Go语言中Map值调用指针接收器方法的限制与应对  在J*a里如何理解依赖关系的方向_依赖方向在模块结构中的作用  Golang指针如何与map组合使用_Golang map指针组合实践  win11如何加载ICC颜色配置文件 Win11校色文件安装与显示器色彩管理【指南】  Win11怎么设置开机NumLock亮 Win11修改注册表InitialKeyboardIndicators值  QQ网页版官方账号入口 QQ网页版网页版登录指南  俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达  提升Kafka消费者健壮性:会话超时处理与消息处理语义  Yandex官网免登录入口_俄罗斯Yandex搜索引擎一键访问  实现分段式页面滚动导航:CSS与J*aScript教程  MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具  Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组  如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】  Win11怎么查看电脑配置_Win11硬件配置检测工具使用  Archive of Our Own官网直达 AO3最新可用地址一览  铃兰之剑为这和平的世界希里技能组及加点推荐  CSS布局中意外空白:解决padding-top导致的顶部间距问题  Windows电脑怎么截图最方便_系统自带截图工具的5种神仙用法【技巧】  文心一言怎样用插件调度API数据_文心一言用插件调度API数据【API调用】  TikTok网页版直接登录 TikTok网页端官方平台入口  抖音隐秘迷城小游戏入口_ 抖音冒险解谜小游戏秒玩  Descript怎样用AI剪辑自动去噪_Descript用AI剪辑自动去噪【自动降噪】  汽水音乐网页版使用入口_汽水音乐电脑版播放指南  win11怎么查看应用耗电情况 Win11电池设置查看应用能耗排行榜【优化】  sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程  PHP中高效并行检查多链接状态的教程 

搜索