我想编写一个 Python 脚本,以便普通用户可以访问他的数据库并从他的终端执行 CRUD 操作。我正在查看官方文档,但我有点迷失。有人可以给我指点基本教程来开始吗?
当然,以下是如何构建 Python 脚本来访问 MongoDB Atlas CLI 的基本教程:
先决条件:
- MongoDB Atlas 账户: 你需要一个具有活跃集群的 MongoDB Atlas 账户。 https://www.mongodb.com/cloud/atlas/register
- MongoDB CLI: 你需要在系统上安装并配置 MongoDB CLI。 https://www.mongodb.com/docs/mongodb-shell/install/
- Python 3: 确保你的系统上安装了 Python 3。
步骤:
- 导入必要的库:
python
import subprocess
import getpass
-
subprocess
用于在我们的 Python 脚本中运行命令行命令。 -
getpass
用于安全地提示输入密码,而不会回显到终端。 -
从用户处获取凭据:
python
atlas_public_key = input("请输入你的 Atlas 公钥: ")
atlas_private_key = getpass.getpass("请输入你的 Atlas 私钥: ")
- 这将提示用户输入他们的 Atlas 公钥和私钥。
-
使用
getpass.getpass()
来屏蔽私钥输入,以提高安全性。 -
构建 CLI 命令:
```python def run_mongo_cli_command(command): """使用提供的命令运行 MongoDB CLI 命令。""" full_command = [ "mongocli", "--api-key", atlas_public_key, "--api-key-secret", atlas_private_key, ] + command.split() try: result = subprocess.run(full_command, capture_output=True, text=True, check=True) print(result.stdout) except subprocess.CalledProcessError as e: print(f"错误:{e.stderr}")
```
-
此函数将
run_mongo_cli_command
定义为接收命令字符串。 - 它将提供的命令与用于身份验证的 MongoDB CLI 命令、公钥和私钥连接起来。
-
它使用
subprocess.run()
来执行命令,捕获输出,并在出现错误时引发错误。 -
示例用法(CRUD 操作):
```python # 列出所有数据库 run_mongo_cli_command("atlas cluster list")
# 在特定集群上获取数据库列表 run_mongo_cli_command("atlas dbusers list --clusterName <你的集群名称>")
# 创建新用户(用你的值替换占位符) run_mongo_cli_command( f"atlas dbusers create --username <用户名> --password <密码> --role readWriteAnyDatabase --authenticationDatabase admin -o json --clusterName <你的集群名称>" )
# 在集合中查找文档(用你的值替换占位符) run_mongo_cli_command( f"atlas db query --clusterName <你的集群名称> --database <你的数据库名称> --collection <你的集合名称> --query '{{}}'" ) ```
-
用实际的集群名称、数据库名称、集合名称等替换占位符
<你的集群名称>
、<你的数据库名称>
、<你的集合名称>
。 -
这些示例展示了如何使用
run_mongo_cli_command
函数来执行各种 MongoDB CLI 操作。 -
可以根据需要添加更多命令。
-
将代码保存在 Python 文件中(例如,
mongo_atlas_cli.py
)。 -
从你的终端运行脚本:
bash
python mongo_atlas_cli.py
安全注意事项:
- 永远不要在你的脚本中硬编码 API 密钥。 以安全的方式提示输入或使用环境变量。
- 谨慎存储你的 API 密钥,并定期轮换。
- 限制脚本的访问权限,尤其是在生产环境中运行时。
此教程提供了使用 Python 脚本与 MongoDB Atlas CLI 交互的基本框架。你可以通过探索 MongoDB CLI 文档来扩展此脚本并添加更多功能: https://www.mongodb.com/docs/mongodb-shell/reference/command/
标签:python,mongodb,command-line-interface From: 78784857