如何使用 Realm 和 MongoDB 设置对可查询字段的查询的订阅?

问题描述 投票:0回答:1

我正在尝试制作一个跨平台桌面应用程序,它需要可以离线使用并在线同步。

所以我使用 .NET Maui 和 MongoDB 进行设置,并使用 Realm 进行连接。我以前从未使用过 Realm,所以我从 https://github.com/mongodb/template-app-maui-todo 的教程待办事项应用程序开始 教程应用程序运行良好,但我试图更好地理解订阅的概念,但我还没有找到可以让我了解如何正确设置的资源。

本教程将 Item 对象写入 MongoDB。相反,我想以相同的方式将 Story 对象写入 MongoDB,但出现错误:

**当未创建灵活同步订阅时,无法写入 StoryModel 类。 **

错误本身非常清楚,我什至可以从我的 RealmService 中看到,我的订阅中仍然存在对 Item 的引用:

但是,我不知道这个参考文献来自哪里。订阅是如何设置的,subscription.ObjectType 是如何填充的?

我已经搜索了我的代码以删除对 Item 的任何引用,但没有,所以我对订阅的设置方式以及我需要更改的内容感到非常困惑。

对这个粗鲁的问题表示歉意。我是这种类型编程的初学者。显然很乐意提供更多详细信息和代码示例。我只是目前不确定哪些代码示例值得查看。

mongodb realm maui windows-11
1个回答
0
投票

已在上面的评论中回答。总结在这里:

一般来说,如果您定义一个 Realm 对象,使用它,然后从代码中删除它,该对象将在本地“存活”,如果同步,也会在 Atlas 中“存活”。在开发过程中,我们经常删除 Realm 文件并允许创建一个新文件 - 同时也会从 Atlas 服务器中删除该对象。与订阅相同 - 一旦创建,它们就会继续存在并且可以通过名称引用。

在dotnet C#中,使用realm.Config.DatabasePath查看realm文件所在的位置。在 Windows 上,如果没有进行不同的设置,则位于 C:\Users\Documents\default.realm 以及 default.realm.management 文件夹和 default.realm.lock

我删除了这个文件,它解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.