前提・実現したいこと
firestoreで新規のドキュメントを追加するたびに、ドキュメント数をカウントして総数を取得したいと考えています。
おすすめの実装方法がありましたら、ご教授いただけますと幸いです。
(イメージとしては、users
コレクションの各ドキュメントのユーザ1,2,3,,,の総数を取得する感じです。)
現状、このサイトの (データ数が多いコレクションのカウント方法)を参考にCloud functions
のfirestoreトリガーを利用して実装を考えていました。
しかし、Cloud functions
の公式ドキュメントにべき等にする必要があると記載がありました。
イベントは必ず 1 回以上処理されますが、1 つのイベントで関数が複数回呼び出される場合があります。「正確に 1 回」のメカニズムに依存することは避け、べき等になるように関数を記述してください。
今回のようなカウントアップの実装はCloud functions
のトリガーを利用すべきではないのでしょうか?
(個人的には、カウントアップ実装はべき等にはならないと思っております。)
一応、べき等を考慮してfirestoreトリガーを使用しているサイトもありました。この方法がベストな方法になりそうな気がしています。
ここまでCloud functions
で実装する方法を調べてきましたが、根本的な疑問が出てきました。
クライアントサイドのfirestore
でfirebase.firestore.FieldValue.increment(1)
を用いてカウントアップを実装することは何かデメリットがあるのでしょうか?(処理が重い、readコストがかかりすぎるなど)
質問を文頭に持ってきて簡潔な文章にできませんでしたが、ご回答・ご意見いただけますと幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。