使用 CloudKit JS 创建引用

Creating a reference with CloudKit JS

我正在创建一条应该引用另一条记录的记录。

我已经创建了记录名称 France 和记录类型 Countries 的记录。我现在要创建的记录如下所示:

var operations = container.publicCloudDatabase.newRecordsBatch(); // I'm normally creating many cities at once, newRecordsBatch() also works with only one record.  
operations.create({
    recordName: 'Paris'
    recordType: 'Cities',
    fields: {
        Country: {
            value: 'France'
        }
    }
});
operations.commit().then(function(response) {
    if(response.hasErrors) {
        console.log(response.errors[0]);
    }
});

在 CloudKit 仪表板中,我已使用字段 CountryCities 设置为对 Countries 的一个引用。但是,当 运行 代码 returns the server responded with a status of 400 (Bad Request).

我看了 WWDC 视频,Apple 关于 CloudKit JS 中引用的唯一说法是 use a Reference object。我不知道它是什么,我猜它是一个 JSON 对象,但是有人知道这个对象的 key/values 是什么吗?

引用对象是具有以下键的字典:

  • recordName:用于标识区域内记录的唯一名称。必需。
  • zoneID:标识数据库中记录区域的字典。
  • action:引用对象的删除操作。 NONEDELETE_SELFVALIDATE。必需。

Country 字段的良好语法示例:

Country: {
    value: {
        recordName: 'France',
        action: 'DELETE_SELF'
    }
}

更多信息请参见 documentation,第 68-69 页。