SQLではよくある、 DELETE FROM [テーブル名] WHERE [条件];
をFirestoreで実現する方法について書いてみようと思う。
そもそも DELETE FROM [テーブル名] WHERE [条件];
はFirestoreには用意されていない。
そもそも DELETE FROM [テーブル名] WHERE [条件];
はFirestoreでは実行できません。
なので、 whereで消したいデータを取得してそれを一件一件削除していくという実装 になる。
実装
実装方法は下記になる。今回はサンプルコードではTypeScriptを使っているが、適宜読み変えてください。
const query: FirebaseFirestore.QuerySnapshot = await db
.collection("timeline")
.where("uid", "==", followUserId)
.get();
query.docs.forEach(async doc => {
await doc.ref.delete();
});
以上です。