需要对 Mongo Realm 和 Mongo Atlas 进行一些说明。和 App 用户数据

时间:2021-07-20 21:22:11

标签: mongodb react-native realm mongodb-atlas

我是应用程序开发的新手,我一直在研究使用 MongoDB Atlas 和 MongoDB Realm。一些问题我无法从他们的文档中找到答案,希望有人可以为我澄清。

  • 认为 Mongo Realm 是客户端数据库并且它使用同步到 MongoDB Atlas 是否正确,所以如果我使用 Realm 制作一个 React Native 应用程序,那么用户从一个设备存储/检索数据,并且可以从另一个设备获取数据(如果他们使用同一帐户登录)?
  • 如果第 1 点是肯定的,那么如果我也想制作一个网络应用程序并跳过 Realm 而只使用 Mongo Atlas,我可以使用从 Realm 同步的数据吗?例如。使用 Realm 中的 React Native 应用程序创建并同步到 Atlas 的任务列表,我可以创建一个 Web 应用程序并直接使用 Mongoose 查询存储在 Atlas 中的同步数据吗?
  • 如果第 2 点是正确的,我如何从 Atlas 访问应用程序用户,它似乎只存在于 Realm 中,这里有什么方法?
  • 最后一点是,对于这种跨平台应用,最好的方法是什么?

非常感谢,

1 个答案:

答案 0 :(得分:1)

我目前正在使用您描述的设置来实现应用。

<块引用>
  1. 认为 Mongo Realm 是客户端数据库并且它使用同步到 MongoDB Atlas 是否正确,所以如果我使用 Realm 制作一个 React Native 应用程序,那么用户从一个设备存储/检索数据,并且可以从另一个设备获取数据(如果他们使用同一帐户登录)?

是的!您可以使用 Task Tracker App by MongoDB Realm Sync

轻松尝试此操作 <块引用>
  1. 如果我也想制作一个网络应用程序并跳过 Realm 而只使用 Mongo Atlas,我可以使用从 Realm 同步的数据吗?例如。使用 Realm 中的 React Native 应用程序创建并同步到 Atlas 的任务列表,我可以创建一个 Web 应用程序并直接使用 Mongoose 查询存储在 Atlas 中的同步数据吗?

是的! - 据我所知,Realm Sync 不支持 React Native Web,因此使用 React 或 Next.js 创建 Web 应用程序是一个不错的选择,因为可以通过这种方式轻松访问通过 Realm Sync 从移动设备同步的 MongoDB Atlas 数据。我目前正在研究以下方法:How to Integrate MongoDB Into Your Next.js App

<块引用>
  1. 如何从 Atlas 访问应用程序用户,它似乎只存在于 Realm 中,这里有什么方法?

请几个用户尝试上面提到的示例应用,这对您来说会更清楚。在这种情况下,MongoDB Atlas 数据库将按用户 ID 进行“分区”,从而轻松获取 Web 应用程序所需的数据。查看 Partition Atlas Data into Realms 以更全面地理解这一点。

<块引用>
  1. 对于这种跨平台应用,最好的方法是什么?

嗯,什么是最佳方法很难回答,因为这个问题太宽泛了,而且很大程度上取决于应用的用途和使用方式。

我个人有充分的理由选择 Realm Sync,因为我需要离线优先功能。我正在构建一个 React Native iOS/Android 应用程序,其中许多用户拥有自己的数据。因此,我按用户 ID 进行“分区”。我的主要用例是移动设备,而 Web 应用程序仅用于支持在笔记本电脑或台式机上轻松输入和编辑数据。因此,并非移动应用程序的所有功能都需要在 Web 应用程序中复制。这只是我个人的做法。