【问题标题】:How to save a record in CloudKit JS v2如何在 CloudKit JS v2 中保存记录
【发布时间】:2018-03-01 23:04:55
【问题描述】:

使用 CloudKit v1,您可以像这样保存记录:

function demoSaveRecord(recordName,recordChangeTag,zoneName,name,location,asset) {

  var container = CloudKit.getDefaultContainer();
  var privateDB = container.privateCloudDatabase;

  var record = {
    recordType: 'Items',
    fields: {
      name: { value: name }, ...
    }
  };

  return privateDB.saveRecord(record,options)
    .then(function(response) {
      if (response.hasErrors) {
        // Handle the errors in your app.
        throw response.errors[0];

      } else {
        // It worked
        var createdRecord = response.records[0];
      }
    });
}

但在 CloudKit JS v2 中,他们删除了 .saveRecord 选项。

所以现在我被卡住了,因为我不知道如何在 v2 中保存记录。 如果有人可以帮助我,或者可以向我展示 v2 的优秀文档,请提供帮助。

CloudKit JS API 差异 v2 https://developer.apple.com/library/content/releasenotes/General/CloudKitJS_v2_APIDiffs/JavaScript/CloudKitJS.html

【问题讨论】:

    标签: javascript cloudkit cloudkit-web-services


    【解决方案1】:

    显然你必须改用.newRecordsBatch().create(record).commit()

    在我的示例中,它看起来像这样:

    function demoSaveRecord(recordName,recordChangeTag,zoneName,name,location,asset) {
    
      var container = CloudKit.getDefaultContainer();
      var privateDB = container.privateCloudDatabase;
    
      var record = {
        recordType: 'Items',
        fields: {
          name: { value: name }, ...
        }
      };
    
      return privateDB.newRecordsBatch().create(record).commit()
        .then(function(response) {
          if (response.hasErrors) {
            // Handle the errors in your app.
            throw response.errors[0];
    
          } else {
            // It worked
            var createdRecord = response.records[0];
          }
        });
    }
    

    您可以使用相同的方法来创建、更新和删除记录,如下所示:

    myDatabase.newRecordsBatch()
        .create(someRecord)
        .update(someOtherRecord)
        .delete(aThirdRecord)
        .commit()
    

    文档可以在这里找到: https://developer.apple.com/documentation/cloudkitjs/cloudkit.recordsbatchbuilder

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 2020-02-29
      • 2016-12-14
      • 1970-01-01
      相关资源
      最近更新 更多