如何使用 Swift 将 objects 从默认本地领域复制到 MongoDB 同步领域?

How to copy objects from the default local realm to a MongoDB synced realm using Swift?

替代标题是“如何使用 Swift 将数据从离线领域深度复制到同步领域?”

在发现 的唯一选择是“克隆”或将所有数据从本地默认领域复制到同步领域后,下一个问题是如何执行数据克隆或复制对于数据之间具有复杂关系的本地领域 objects.

是否有推荐的方法将数据从一个领域复制到同步领域,同时保持 objects 之间的关系?

有一个 realm.copyFromRealm 方法,但似乎已被弃用。

更新

找到关于“将同步添加到 Local-Only 应用程序”的官方指南,https://docs.mongodb.com/realm/sync/local-to-sync/

更新

在使用 CodableJSONEncoderJSONDecoder、[=15 的“如何轻松 duplicate/copy 现有领域对象”中找到了解决此问题的潜在解决方法=]

GitHub Gist 中发现另一个函数将本地领域迁移到同步领域,但是,代码似乎已经过时了。


发现 2014 年提出的 GitHub 问题,关于如何 move/copy 领域之间的对象,https://github.com/realm/realm-cocoa/issues/1076createInRealm:withObject: 在评论中被推荐。

然而,在深入研究源代码后,只有 createInRealm:withValue: 在 Objective-C API、https://github.com/realm/realm-cocoa/blob/84179b4e0b54e11f73723c283c4567c565da62f5/Realm/RLMObject.h#L174

中可用

在关于“将同步添加到仅限本地的应用程序”的官方指南中,有一个关于 "Copy Existing Data" 的部分概述了将数据从本地领域复制到同步领域的流程。

相关信息