1

这是我在领域的集合模式 -

{
  "title": "testnote",
  "properties": {
    "_id": {
      "bsonType": "objectId"
    },
    "_syncPartition": {
      "bsonType": "string"
    },
    "title": {
      "bsonType": "string"
    },
    "description": {
      "bsonType": "string"
    },
    "subject": {
      "bsonType": "string"
    },
    "tags": {
      "bsonType": "array",
      "items": {
        "bsonType": "string"
      }
    },
    "pages": {
      "bsonType": "array",
      "items": {
        "title": "notespage",
        "bsonType": "object",
        "properties": {
          "type": {
            "bsonType": "string"
          },
          "data": {
            "bsonType": "string"
          }
        }
      }
    },
    "createdBy": {
      "bsonType": "string"
    }
  }
}

这就是我在 react native 中声明领域模式的方式。下面还添加了初始化 Realm 连接的代码。

static NotesPage = {
        name: "notespage",
        embedded: true,
        properties: {
            type: "string",
            data: "string"
        }
    }

    static mainSchema = {
        name: "testnote",
        properties: {
            _id: "objectId?",
            _syncPartition: "string?",
            createdBy: "string?",
            title: "string?",
            description: "string?",
            subject: "string?",
            tags: "string[]",
            pages: { type: "list", objectType: "notespage" }
        },
        primaryKey: "_id"
    };

       const sampleNotesConfig = {
            schema: [mainSchema NotesPage],
            sync: {
                user,
                partitionValue: notesPartition,
                newRealmFileBehavior: OpenRealmBehaviorConfiguration,
                existingRealmFileBehavior: OpenRealmBehaviorConfiguration
            }
        };


        Realm.open(sampleNotesConfig).then((notesRealm) => {
            //// Some relevant code
            
        }).catch((reason) => {
            console.log("Error initializing realm");
            console.log(reason);
        });

当我创建领域对象时,它被插入到本地领域文件中,但永远不会同步到服务器。我没有在本地看到任何服务器错误或错误。

notesRealm.write(() => {
                
                notesRealm.create(
                    SampleNote.schema.name, 
                    {
                     "subject": "History",
                     "title": "Local to Remote Note 10",
                     "description": "Local to Remote Note 10 Description",
                     "tags": ["Tag 1", "Tag 2", "Tag 3"],
                     "pages": [{"type": "COVER_PAGE", "data": "Data 1"}, { "type": "PARAGRAPH", "data": "Data 2"}]

                });
               
            });

我检查了以下内容 -

  • 分区值正确。
  • 用户有权读取/写入该分区。
  • 如果我只是从架构中删除 pages 部分,则对象开始同步。
4

0 回答 0