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

gpfsuwkq  于 2023-11-17  发布在  Go
关注(0)|答案(1)|浏览(202)

我试图使一个跨平台的桌面应用程序,这需要与在线同步离线可用。
我以前从未使用过Realm,所以我开始使用https://github.com/mongodb/template-app-maui-todo上的tutorial to-do应用程序。tutorial应用程序工作正常,但我试图更好地理解订阅的概念,我还没有找到一个资源,让我了解如何正确设置它。
本教程将Item对象写入MongoDB。相反,我想以同样的方式将Story对象写入MongoDB,但我得到了错误:

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

这个错误本身非常清楚,我甚至可以从我的RealmService中看到,在我的订阅中仍然有一个对Item的引用:
x1c 0d1x的数据
然而,我不知道这个引用来自哪里。订阅是如何设置的,以及subscription.ObjectType是如何填充的?
我已经搜索了我的代码,以去除任何对Item的引用,但是没有,所以我对订阅是如何设置的以及我需要修改什么感到非常困惑。
很抱歉这个粗鲁的问题。我是这类编程的初学者。显然很乐意提供更多的细节和代码示例。我只是目前不确定哪些代码示例有用。

2hh7jdfx

2hh7jdfx1#

在上面的评论中进行了说明。总结如下:
一般来说,如果你定义了一个Realm对象,使用它,然后从代码中删除它,这个对象将在本地“存活”,如果同步的话,也会在Atlas中“存活”。在开发过程中,我们经常删除我们的Realm文件,并允许创建一个新的文件-也会从Atlas服务器中删除对象。订阅也一样-一旦创建,它们就存活,可以通过名称引用。
在dotnet C#中,使用realm.Config.DatabasePath查看realm文件的位置。在Windows上,如果没有不同的设置,它位于C:\Users\Documents\default.realm沿着有default.realm.management文件夹和default.realm.lock
我删除了这个文件,它解决了我的问题。

相关问题