用于调试和故障排查,查询MongoDB数据库。用户需要时可以: (1) 列出所有数据库; (2) 列出数据库中的集合; (3) 执行MongoDB查询或命令。
MongoDB 查询器 查询器 自动连接处理器
功能概述
MongoDB 查询器 查询器 自动连接处理器是一项面向实际任务的技能,主要用于依赖性 :.;Python 3. 6 = pymongo 包: pip sind pymongo. kubectl( 仅限 ne)。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
MongoDB 查询
使用自动连接管理功能查询 MongoDB(支持直连 IP 或通过 Kubernetes port-forward 连接)。
前提条件
依赖项:
- Python 3.6+
pymongo包:pip install pymongokubectl(仅在通过 port-forward 连接 Kubernetes 服务时需要)
该智能体在使用此技能前,必须向用户询问 MongoDB 连接信息。
所需信息如下:
MongoDB 连接字符串(必需):包含认证凭据的完整连接 URI
- 示例:
mongodb://root:password@172.16.79.249:27017/?authSource=admin&replicaSet=rs0 - Kubernetes 示例:
mongodb://root:password@mongodb.mongodb.svc.cluster.local:27017/?authSource=admin
- 示例:
Kubernetes 命名空间(可选):仅当 MongoDB 地址为 Kubernetes 服务名时需要
建议:将连接信息保存至项目 TOOLS.md 文件中以供后续参考:
### MongoDB - mongo_conn_str: mongodb://user:pass@host:port/?options - mongo_namespace: (可选 - 仅当为 K8s 服务名时)
连接模式
脚本会根据连接 URI 中的 host 自动识别连接类型:
| 地址类型 | 连接方式 |
|---|---|
IP 地址(例如:172.16.79.249:27017) |
直连 |
K8s 服务(例如:mongodb.mongodb.svc.cluster.local:27017) |
kubectl port-forward |
用法
# 列出所有数据库 python scripts/query_mongo.py --uri "mongodb://user:pass@host:27017/?authSource=admin" --list-dbs # 列出某数据库中的所有集合 python scripts/query_mongo.py --uri "mongodb://user:pass@host:27017/?authSource=admin" --db--list-collections # 执行查询 python scripts/query_mongo.py --uri "mongodb://user:pass@host:27017/?authSource=admin" --db --collection --query '{"status": "active"}' # 若使用 K8s 服务名,则需指定命名空间 python scripts/query_mongo.py --uri "mongodb://user:pass@svc.ns.svc.cluster.local:27017/?authSource=admin" --list-dbs --namespace mongodb
参数
| 参数 | 说明 | 是否必需 |
|---|---|---|
--uri |
MongoDB 连接字符串 | 是 |
--list-dbs |
列出所有数据库 | 否 |
--db |
数据库名称 | 执行集合或查询操作时必需 |
--list-collections |
列出数据库中的所有集合 | 否 |
--collection |
集合名称 | 执行查询操作时必需 |
--query |
以 JSON 格式表示的 MongoDB 查询语句 | 否 |
--namespace |
Kubernetes 命名空间(当 host 为 K8s 服务名时必需) | 条件必需 |
--limit |
限制返回结果数量(默认值:10) | 否 |
--json |
以原始 JSON 格式输出结果 | 否 |
示例
# 列出所有数据库
python scripts/query_mongo.py --uri "mongodb://root:pass@172.16.79.249:27017/?authSource=admin" --list-dbs
# 查找活跃用户
python scripts/query_mongo.py --uri "mongodb://root:pass@172.16.79.249:27017/?authSource=admin" --db production --collection users --query '{"status": "active"}'
# 按 ObjectId 查询
python scripts/query_mongo.py --uri "mongodb://root:pass@172.16.79.249:27017/?authSource=admin" --db production --collection users --query '{"_id": {"$oid": "507f1f77bcf86cd799439011"}}'
# 限制结果数量
python scripts/query_mongo.py --uri "mongodb://root:pass@172.16.79.249:27017/?authSource=admin" --db production --collection logs --query '{"level": "ERROR"}' --limit 20
# Kubernetes 服务模式
python scripts/query_mongo.py --uri "mongodb://root:pass@mongodb.mongodb.svc.cluster.local:27017/?authSource=admin" --db production --collection users --query '{}' --namespace mongodb
输出
- 列表类操作:返回数据库或集合名称
- 查询类操作:以格式化或原始 JSON 格式返回匹配的文档
热门AI工具
相关专题
mongodb 适用于非结构化数据、高扩展性和灵活查询(如网站内容管理、社交媒体),而 mysql 适用于结构化数据、强数据一致性和联接查询(如电子商务、银行系统)。
1449
2024.04.02
彻底删除 mongodb 安装失败的步骤:1、停止和禁用 mongodb 服务;2、删除配置文件、数据目录和日志文件;3、删除 mongodb 二进制文件;4、卸载 mongodb 套件(如果通过软件包管理器安装);5、删除 mongodb 用户、组和目录;6、重启系统。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
555
2024.04.02
redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用哈希表快速查找数据,而 mongodb 使用 b-tree 索引。因此,redis 在需要高性能读取操作的应用程序中是一个更好的选择。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
5072
2024.04.02
mongodb 的应用领域涵盖广泛,包括内容管理系统、社交媒体、分析、移动应用、物联网、金融科技、医疗保健和广告技术等领域,因其灵活性、可扩展性和易用性而广受欢迎。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
838
2024.04.02
常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。
3389
2023.11.02
MongoDB删除数据的方法有删除集合中的文档、删除整个集合、删除数据库和删除指定字段等。本专题为大家提供MongoDB相关的文章、下载、课程内容,供大家免费下载体验。
1584
2023.09.19
mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。
575
2023.07.18
热门下载
相关下载
精品课程

