跳转到内容

MongoDB · NoSQL · 文档

Android 上用本地 MongoDB 还是 Atlas?

简短回答

在 PocketCode 里,Android 手机上没有本地 MongoDB 服务器:可用的是 Atlas,或任何能通过网络访问的 MongoDB。连接 Atlas 时使用 service account 或 API key,选择一个集群,再用你输入的数据库用户名和密码打开其数据库。连接你自己的 MongoDB 服务器时,PocketCode 内置的客户端(SCRAM 认证、TLS)会列出集合及其计数,但不显示其中的文档。唯一直接在手机上运行的数据库是内置的 PostgreSQL。

如何连接

MongoDB Atlas

  1. 1在 设置 → 集成 → 已连接的服务 中用 service account 或 API key 连接你的 Atlas 账户。
  2. 2在数据库模块中打开 Atlas 账户:它会列出你的集群。
  3. 3选择一个集群。连接表单会打开并已填好 SRV 主机:输入数据库用户名和密码(Atlas 不会通过其 API 提供它们),然后保存。
  4. 4打开连接即可看到数据库的集合以及每个集合的文档数。测试连接 目前还不能检查 Atlas 连接,所以打开它就是测试。

你自己的 MongoDB 服务器

  1. 1在 我的连接 中点击 +(新建连接)。
  2. 2把你的 mongodb:// 或 mongodb+srv:// URI 粘贴到 连接字符串 并点击 解析连接字符串,或在 数据库类型 中选择 MongoDB 并填写主机、端口、数据库、用户名和密码。
  3. 3点击 测试连接:它会打开套接字、协商 TLS 并完成 SCRAM 登录,所以绿色结果表示凭据可用。然后点击 保存。
  4. 4打开它即可列出连接中指定数据库的集合(字段为空时为 test)及其文档数。

你可以用它做什么

  • 从手机列出你 Atlas 集群数据库中的集合
  • 查看每个集合的文档数量(前 40 个集合会显示计数)
  • 保存前测试与你自己的 MongoDB 服务器的连接:真实的 ping,包含 TLS 和 SCRAM 登录
  • 在 安全 → 角色 中只读查看 Atlas 项目的数据库用户
  • 通过浏览你的 Atlas 账户连接,而不必粘贴 URI
  • 通过网络查看你自己的 MongoDB 服务器:集合和文档数量

值得注意

MongoDB Atlas 是一项云 NoSQL 服务,因此需要网络,数据存放在 Atlas 的服务器上。PocketCode 会列出集合及其计数,但在此版本中不显示其中的文档,其 MongoDB shell 和聚合构建器也无法打开;它不托管集群,也不在设备上运行本地 MongoDB 服务器。如果你需要一个存放在手机上的数据库,请使用内置的 PostgreSQL。

常见问题

我能在 Android 手机上本地运行 MongoDB 吗?

在 PocketCode 中不行:设备上不运行任何 MongoDB 服务器。它连接的是 Atlas,或你能通过网络访问的 MongoDB。真正在手机上运行的数据库是内置的 PostgreSQL。

这是在 Android Studio 中使用 MongoDB Atlas 的方法吗?

不是。PocketCode 不是 Android Studio,也不会把 MongoDB 加进你正在开发的 Android 应用。它是手机上的客户端:如果你的应用把数据存放在 Atlas 上,你可以从手机打开那个集群,查看它的集合以及每个集合的文档数。

我能读取或编辑文档吗?

此版本不行。你能看到集合及其计数(前 40 个集合显示计数)。没有 MongoDB shell、没有聚合构建器,也没有创建集合或管理索引的界面。

需要联网吗?

需要。Atlas 是云服务,你自己的服务器也要通过网络访问。mongodb+srv:// 主机通过 DNS over HTTPS 解析,先用 dns.google,失败时用 cloudflare-dns.com;你的数据从应用直接到你的集群,从不经过 PocketCode 服务器。