レコード登録時の重複を無くしたい

やり方として、レコードの取得のイベントを用いて、重複の判断を行ないたいを行ないたいと考えています。

 

レコード一行ごとに重複の確認を行い、

返ってきたレコード数が0の場合は、新規登録を行い、

それ以外の場合は新規登録を行なわない仕様にしたいです。

 

以下のコードはアプリB内で既に登録済みのデータが存在するか

アプリAのレコード分(recordInf)ループさせるような仕様にしています。

//登録済みの商品名があるか確認
ApuriB.overLap = function(recordInf) {

for(var i=0; i<recordInf.length; i++){
// 検索パラメータ
var params = {
// アプリ番号
"app":ApuriB.APP_ID,
// 検索条件 //同じ商品名は存在しないような仕様になっています
"query":'商品名="'+recordInf.Table_0.value[i].value.ユーザー選択.value[0].name+'"',
// 取得項目
"fields": ['$id', '$revision']
};

return kintone.api(kintone.api.url('/k/v1/records', true),'GET', params);
}
};

しかし、このやり方では思うようにいかず、悩んでいるのが現状です。

何か効率の良い方法がありましたら、ご教授願いたいです。

たい様
お世話になっております。
サイボウズスタートアップスの江田と申します。

ご提示いただいたコードですと、一回目のループで返り値を渡して、関数が終了してしまいます。
一旦配列に保存してからreturnするなどすれば、期待されている動作をするかと思われます。

ただ、
https://developer.cybozu.io/hc/ja/community/posts/115017884823
で、上海レンユアー 松村様も仰っていますが、kintoneの機能で重複を防ぐことができます。
効率を考えるのであれば、そちらの方法で重複チェックを行うことを強く推奨いたします。