サイボウズが公開しているAPIを利用します。
APIを利用して、データ削除を行います。
2000件を1処理で削除(delete)することができます。
事前処理
事前処理に関しては、以下のページの事前処理を参考にしてください。
KintoneRestAPIClient getAllRecordsを使ってみる
プログラム
(function() {
'use strict';
kintone.events.on('app.record.index.show', async function(event) {
const client = new KintoneRestAPIClient();
const record = await client.record.getRecords({
app: kintone.app.getId(),
fields:[],
query: ""
});
let ary=[];
record.records.forEach ((v) => {
let obj = {
"id" : v.$id.value,
};
ary.push(obj);
});
//
const result = await client.record.deleteAllRecords({
app: kintone.app.getId(),
records: ary
});
console.log(result);
return event;
});
})();
詳細については、以下リファレンスにて確認ください。
js-sdk/record.md at master · kintone/js-sdk · GitHub
kintoneのポイント
サンプルプログラムは、対象のアプリからデータを取得し、そのデータのキー(id)をもとに、同じレコードに対して削除処理を行っています。
※一覧を表示したタイミングで、データが削除されます。
deleteAllRecordsのパラメータとして、idを設定しています。
配列に格納されたデータ分(オブジェクトのレコード分)データを削除しています。
async /await による非同期対応を実施いています。