サンプル3(DELETEサンプル)
NCMB (ニフクラ mobile backend) のDELETEメソッドのサンプルを、Firebase FunctionsとFirebase Firestoreを使って実装する方法について解説しています。
概要
目的: NCMBでのDELETEメソッドを使用したデータ削除のサンプルを、Firebase FunctionsとFirestoreを用いて実装。
動作: Firestoreの
Item
コレクションから指定されたIDのドキュメントを削除。
Firebase Functionsのコード
機能
データ削除: 指定されたIDのドキュメントをFirestoreから削除。
コード例
const delete_data = functions.https.onCall(async (data, context) => {
const body = data.body;
const id = body.id; // 削除するID
return admin.firestore().collection('Item').doc(id).delete()
.then(_ => {
return { message: `Document ${id} successfully deleted` };
})
.catch(error => {
throw new functions.https.HttpsError('internal', `Error deleting document: ${error}`);
});
};
解説
IDによる削除:
body.id
で指定されたIDのドキュメントを削除します。
セキュリティ:
このサンプルではユーザー認証を行っていないため、IDがわかれば誰でも削除可能です。POSTサンプルでの認証チェックのようなセキュリティ対策を講じるか、Firebaseのルールを設定して不正な操作を防ぐことが推奨されます。
アプリ側のコード
機能
指定したIDのドキュメントを削除する
delete_data
関数を呼び出し。
コード例
const deleteId = document.querySelector('#deleteId').value;
log(`${deleteId}`);
const delete_data = httpsCallable(functions, 'delete_data');
delete_data({
'body' : {
'id': deleteId
}
}).then((result) => {
log(result.data);
}).catch((error) => {
log(error);
});
});
解説
ドキュメントIDの指定:
body.id
に削除したいドキュメントのIDを指定し、Firebase Functionsのdelete_data
関数を呼び出して削除を実行します。
最終更新
役に立ちましたか?