【问题标题】:Need some clarification about Mongo Realm and Mongo Atlas. And App user data需要对 Mongo Realm 和 Mongodb Atlas 进行一些说明。和 App 用户数据
【发布时间】:2021-07-20 21:22:11
【问题描述】:

我是应用程序开发的新手,我一直在研究使用 MongoDB Atlas 和 MongoDB Realm。有几个问题我从他们的文档中找不到答案,希望有人能帮我澄清一下。

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

非常感谢,

【问题讨论】:

  • MongoDB 领域有很多东西。 Realm 是一个移动数据库。 Realm 也是一个 Web 开发库,允许从移动数据库来回同步到 Atlas 数据库。 Realm 是一系列适用于 iOS (Swift) 和/或 Android (Java 或 Kotlin) 的 API。 Realm 是 MongoDB Atlas 内部的一个开发堆栈,具有托管功能。 Realm 是 Atlas 中的无服务器 lambda 样式函数。 Realm 是 MongoDB 使用的一个术语,用于支持边缘设备的数据库以及作为移动优先解决方案与 Atlas 的通信。

标签: mongodb react-native realm mongodb-atlas


【解决方案1】:

我目前正在使用您描述的设置实现一个应用程序。

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

是的!您可以使用Task Tracker App by MongoDB Realm Sync 轻松尝试此操作

  1. 如果我也想制作一个 Web 应用程序并跳过 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 应用程序中复制。这只是我个人的做法。

【讨论】:

  • 非常感谢。一个更具体的问题。您如何处理 Web 身份验证?具体来说,用户密码是否存储在 Realm 中?顺便说一句:我试图投票,但它说我不允许?
  • 我在这里看到了一个讨论:mongodb.com/community/forums/t/…
  • @xu-han 文档也解释了它,这可能是一个很好的起点:docs.mongodb.com/realm/tutorial/web-graphql/…
  • 谢谢你?。这有很大帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
  • 2016-06-16
  • 1970-01-01
  • 2012-04-06
  • 2014-10-02
  • 2010-11-04
相关资源
最近更新 更多