如何使用本地领域文件将基于 MongoDB 分区的同步领域加载到灵活的同步领域

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

我已经使用基于分区的同步领域一段时间了,但需要升级架构,并且 MongoDB 不再支持基于分区的同步。

我们通常使用javascript程序读取现有的本地realm文件并将数据写入同步的realm。这对于基于分区的领域工作正常,但在尝试打开同步领域时对于灵活的同步领域失败。

objectType must be of type 'string', got ([object Object])

看来,使用灵活的同步领域,必须先创建订阅,然后才能写入同步领域,因此我们添加了初始订阅。

const realmConfig = {
    schema: target_realm_schema,
    sync: {
        user: app.currentUser,
        //partitionValue: partitionKey,
        flexible: true,
        initialSubscriptions: {
            update: (subs, realm) => {
              subs.add(realm.objects(AppPermission), { name: "AppPermission",});                         
            },
            rerunOnOpen: true,
          },
        newRealmFileBehavior: OpenRealmBehaviorConfiguration,
        existingRealmFileBehavior: OpenRealmBehaviorConfiguration,
        
    },
};

知道这个错误可能意味着什么吗?

似乎已经在 MongoDB 数据库中创建了架构,因此 javascript 客户端能够连接并初始化数据库。

node.js mongodb realm mongodb-device-sdk
1个回答
0
投票

好吧,答案很简单 - 使用字符串而不是类名!

subs.add(realm.objects('AppPermission'), { name: "AppPermission",});

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