全レコードの取得方法

フォローする

(著者:Cstap 落合 雄一

はじめに

こんにちは。落合@cstapです。
全レコードの取得方法をご紹介します (^^)

ソースコード

KintoneRecordManager

KintoneRecordManagerは、レコード処理に関するクラスです。getRecordsメソッドは、再帰的にgetRecordsメソッドを呼び出すことで、全レコードの取得を実現しています。REST APIのレコードの一括取得が何度も呼ばれるため、レコード数の多い場合は時間がかかります。

利用方法

KintoneRecordManagerにはいくつか設定可能なプロパティがあります。

アプリIDの指定

デフォルトは、kintone.app.getId()です。指定したい場合は以下のようにしてください。

クエリで検索条件の指定

デフォルトは検索条件なしとなっています。指定したい場合は以下のようにしてください。

全レコード取得後のcallback

getRecordsメソッドの呼び出しに対し、callbackを指定できます。全レコード取得後に処理したい内容をcallbackで指定してください。

最後に

全レコード取得には、レコード数に比例して時間がかかってしまいます。ご利用の際は、十分気をつけてください。また、本Tipsではレコード一覧画面の表示イベントの例しか示していませんが、他のイベントなどでも使えますので、試してみてください。

デモ環境

https://dev-demo.cybozu.com/k/76/

※デモ環境についての説明はこちら

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
菅原直樹

データが残ってしまうので、

通信クラスで初期化するときに

 

function KintoneRecordManager() {
this.appId = kintone.app.getId();
    this.records = [];
}

 

としないと、Arrayが初期化されずに全てpushされる形になります。

 

Avatar
cybozu Development team

菅原様

Arrayの初期化についてのご指摘ありがとうございます。ソースコードの32行目を修正いたしました。

ログインしてコメントを残してください。
Powered by Zendesk