如何将 MongoDB Realm App 用户添加到 Atlas 集合?

How do I add MongoDB Realm App Users to Atlas collection?

我正在开发一个连接到 MongoDB Atlas 数据库(托管)的 SwiftUI 应用程序,该数据库由服务器填充和管理。我已经为我的 SwiftUI 应用程序创建了一个领域,并且可以成功创建用户并登录,但是我无法连接创建的用户(在领域 UI 中的应用程序用户中找到) 到我的数据库的用户集合中的用户文档。执行此操作的正确方法是什么?我是否需要在集合中为任何新应用用户手动创建用户?

@jostell13 - REALM 用户不是 ATLAS 数据库用户。

然而,这并不意味着 REALM 用户需要自己的 collection 才能使用任何新应用。

创建领域应用程序时,您指定与其关联的 ATLAS 集群。有多种方法可以做到这一点——我将介绍两种。 SDK、函数

https://docs.mongodb.com/realm/sdk/swift/examples/read-and-write-data/#read---write-data---swift-sdk

https://docs.mongodb.com/realm/sdk/swift/data-types/collections/#collections-are-live

SDK 提供 LIVE collections,这是一个非常棒的功能。如果 LIVE collection 以及 real-time 通知、实时更新 objects、lazy-loading objects 等不是必需的,您也可以考虑功能。

(感谢@Jay 提出 SDK > 功能)

https://docs.mongodb.com/realm/functions/

const plants = context.services.get("mongodb-atlas").db("example").collection("plants");
const plant = await plants.findOne();
return JSON.stringify(plant);

可以从 REALM 应用调用函数,或者您甚至可以创建 HTTPS 端点之类的东西,这样您就可以使用简单的 HTTP 请求与函数进行交互。 https://docs.mongodb.com/realm/endpoints/

函数最好的部分是 - 依赖!您几乎可以使用任何 npm 模块作为函数的依赖项! (有一些限制,但这个功能集只会在未来得到改进) https://docs.mongodb.com/realm/functions/add-external-dependencies/

虽然我从这里的回复中得到了很多有用的信息,但没有提到我找到的解决方案。

正确的做法仍然是通过触发函数将数据从 Realm 手动复制到数据库。