メインコンテンツまでスキップ

deleteMany()

特定の条件に合致した全ての行を削除したい場合に利用します。

使用できるキー

キー名内容省略備考
where削除条件の指定書かない場合は全ての行が対象になります
limit削除する最大件数負数を指定するとエラーになります
注意

where: {} や、条件が undefined / Gassma.skip だけで空になった場合も全行が削除対象になります。意図しない undefined を検出したい場合は strictUndefinedChecks を有効にしてください。

説明例用のシート

説明用シート

説明

上記例から以下の処理を行いたいとします。

  • age => 20 の行を削除

この場合以下のコードとなります。

const gassma = new Gassma.GassmaClient();

// gassma.{{TARGET_SHEET_NAME}}.deleteMany
const result = gassma.sheet1.deleteMany({
where: {
age: 20,
},
});

戻り値は以下の形式です。

{
count: 1;
}

削除された行の数が返されます。

limit

削除する最大件数を指定できます。

// 最大 3 件のみ削除
const result = gassma.sheet1.deleteMany({
where: {
pref: "Tokyo",
},
limit: 3,
});

limit: 0 を指定すると 0 件削除(何も削除しない)となります。

注意

limit に有限の負数を指定すると GassmaLimitNegativeError がスローされます。

NaN / Infinity / -Infinity / null を指定した場合は GassmaInvalidValueError です。この場合、行は 1 件も削除されません。

gassma.sheet1.deleteMany({ limit: NaN });
// => Invalid value for argument `limit`. Expected a finite number, but received NaN.

gassma.sheet1.deleteMany({ limit: null });
// => Invalid value for argument `limit`. Expected a number, but received null.

limit: -Infinity は以前 GassmaLimitNegativeError でしたが、有限かどうかの判定が先に行われるようになったため GassmaInvalidValueError になります。undefined は従来どおり無視されます(上限なし)。

またwhereの仕様はfindMany()の記事に準拠します。