【发布时间】:2021-12-08 12:51:34
【问题描述】:
我正在开发一个 SwiftUI 应用程序,该应用程序连接到由服务器填充和管理的 MongoDB Atlas 数据库(托管)。我已经为我的 SwiftUI 应用程序创建了一个领域,并且可以成功地创建一个用户并登录,但是我无法将创建的用户(在领域 UI 中的应用程序用户中找到)连接到我的数据库用户中的用户文档收藏。这样做的正确方法是什么?我是否需要在集合中为任何新应用用户手动创建用户?
【问题讨论】:
-
正确的方法是使用 SDK 读取和写入数据 - 我的意思是,这就是它的用途,对吧?入门指南Read & Write Data 中有很好的示例。你看过那个吗?哦 - 您不需要手动创建用户。我们的应用程序有一个用户注册,应用程序在其中为用户创建用户帐户。这一切都是通过Authenticate 完成的
-
另一件事;如果您没有适当的规则(权限),您的任何应用程序用户都可以访问任何数据,因此不应该出现“将用户连接到用户文档”的情况。换句话说,如果用户进行身份验证,然后应用程序连接到您的领域,则用户可以读取该领域内的任何对象(使用给定的 partitionKey)。浏览Task Tracker Tutorial,它准确地展示了如何读取和写入同步数据。
-
我已经阅读了所有这些教程 - 请在下面查看我对 Oblivion 答案的评论。
-
我读了那条评论,它和这个问题真的很不一样;这个问题听起来像是在问用户,但实际上你是在问其他用户数据,这是完全不同的两件事。需要注意的是,虽然 Realm 有一个 SDK,它为编写应用程序提供了非常好的平台,但存储在 MongoDB 中的 数据 根本不是专门的“领域数据”——它是 MongoDB Atlas 数据,可以通过以下方式访问包括 REST 调用在内的多种方式。例如如果您的 Realm 数据已同步,则该同步数据位于 MongoDB Atlas 中。
-
我明白这一点,但我的问题的前提是,是否有一种本地方法可以让所有 Realm 用户同步到数据库中的集合,而不是仅仅被孤立到他们自己的领域。