Docs 菜单

Docs 主页Atlas App Services

将仅限本地的应用迁移到启用了同步功能的应用

在此页面上

  • 创建 App Services App
  • 启用身份验证
  • 启用同步
  • 更新客户端应用程序
  • 复制现有数据

如果您有一个使用本地域的移动应用,并且您想要将该应用转换为使用同步,则需要完成三项主要任务:

  • 创建和配置App Services App

  • 修改客户端代码以点这个新的后端应用程序

  • 将本地数据复制到新的同步 Realm

在读取和写入 Realm 数据库时,使用本地 Realm 和同步 Realm 没有区别。 配置同步并打开域后,现有代码将继续按照迁移前的方式运行。

显示仅使用本地数据和使用同步数据的移动应用程序的图像。

注意

一个应用可以有多个 Realm,并且您可以迁移任意数量的 Realm 以使用同步。 例如,您的应用可以继续将仅限本地的 Realm 用于设备特定信息,同时也将同步 Realm 用于其他数据。

要在设备和 MongoDB Atlas 之间同步数据,首先要创建一个 App Services App。 此应用程序通过用户身份验证、数据加密和访问控制的形式提供了数据安全网关。

要开始创建后端应用程序,请按照创建 App Services App 中的步骤操作。

Device Sync 需要对用户进行身份验证。 Atlas App Services 提供许多不同的身份验证提供者,例如电子邮件/密码和 OAuth。启用并配置身份验证后,您就可以完全控制谁可以访问哪些数据。

要了解详情并开始使用,请参阅身份验证提供者。

在 App Services App 中,配置 Sync 是最后一步。 设置同步后,经过身份验证的用户可以在线访问其当前数据。 离线时,用户可以使用最新数据,但他们的更改只有在重新上线后才会同步。

通过Flexible Sync,客户端可以根据对可查询字段的查询来同步数据子集。 配置Flexible Sync时,您可以决定客户端可以查询哪些字段。要启用Flexible Sync,请按照过程中的步骤操作。

现在您已经为 Device Sync 设置了后端,您需要对客户端应用代码进行一些更改。 按照快速入门中针对您所使用的语言/平台的步骤设置 Flexible Sync:

在这个点,您的数据仍然只存在于本地数据库中。您需要先执行初始复制,然后 Realm 才会同步数据。 为此,请按照以下步骤操作并参考图表:

  1. 检查同步 Realm 是否已存在。

  2. 如果没有,请创建一个。 打开与它和本地 Realm 的连接。

  3. 从本地 Realm 读取每条记录并对其进行修改以匹配已同步 Realm 的模式。

  4. 将修改后的记录复制到新的同步 Realm。 当连接到您的应用程序时,Sync 会自动将记录复制到 MongoDB Atlas。

  5. 确认要保留的所有记录都位于新 Realm 中。

  6. 删除本地 Realm 文件。

  7. 在后续每次加载应用时,检查本地 Realm 是否已被删除。

显示从本地转换为同步的步骤的流程图

注意

如果在配置同步或复制数据时遇到错误,请检查 App Services App 日志。日志提供有关同步错误的详细信息。 在许多情况下,执行客户端重置有助于解决同步迁移问题。

← 压缩 Atlas 卷