如何在 CloudKit JS v2 中保存记录
How to save a record in CloudKit JS v2
使用 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
显然您必须改用 .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
使用 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
显然您必须改用 .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