JavaScript SDKはMonacaアプリやコンソールからNCMBを使うのに便利なライブラリですが、機能はごく基本的なものに限っており物足りなさを感じることがあります。
そこで非公式に作っているのがNCMB Extendです。データストアを拡張して便利なメソッドを追加しています。
deleteAllメソッドの追加
今回は取得系ではなく削除系メソッドです。指定した条件にあうデータをまとめて削除します。mBaaSでは一括削除系メソッドは提供していませんので、実際には一件ずつ取得しつつ、条件にマッチしたデータを削除していくだけになります。
使い方は以下のようになります。事前に指定した条件に従ってfetchAllし、取得したデータに対して削除を実行します。便利な点としては条件さえ指定すれば、後はまとめて削除してくれるです。なお、このメソッドは対象データが1,000件以上ある場合、再度実行してデータを削除します。検索条件に当てはまるすべてのデータを削除します。
AA7 .equalTo('Boolean', true) .deleteAll() .then((ary) => { console.log(ary); });
結果は削除した件数が返ってきます。
インストール
NCMB Extendのインストールは npm コマンドでできます。
npm i ncmb-extend -S
後はJavaScript SDKを読み込んだ後でライブラリを読み込んでください。
const NCMB = require('ncmb'); require('ncmb-extend');
deleteAllメソッドは汎用的なので、多くの場面で使えるのではないかと思います。ぜひお試しください。また、何か動作の不明点や問題、機能要望があれば下記リポジトリにお願いします。