Firestore コレクション内のドキュメントのカウント
編集: 2022 年 10 月 20 日
現在の Firestoreコレクション内のドキュメント、またはメソッドによって返されたドキュメントを数える count() メソッドを提供します。文書を読まずに質問します。これにより、カウンターを維持する必要がなくなります。
Query query = db.collection("Posts").orderBy("createdAt"); Task<Long> task = query.count(); task.addOnCompleteListener(new OnCompleteListener<Long>() { @Override public void onComplete(@NonNull Task<Long> task) { long count = task.getResult(); } });
編集: 2021 年 7 月 10 日
Firebase に分散カウンター拡張機能が導入され、拡張性の高いカウンター サービスが提供されます。ビュー、いいね、シェアなどの高速アクションに対応します。この拡張機能を使用すると、1 秒あたり 1 回の書き込み操作の制限を超えるカウント操作が可能になります。
元の回答:
getDocumentCount() メソッドを使用しないドキュメント数の取得
Firestore には専用の getDocumentCount() メソッドがないため、カウントするには代替アプローチが必要ですコレクション内のドキュメントの数。
db.collection("Posts").get() .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnapshot> task) { if (task.isSuccessful()) { int count = task.getResult().size(); Log.d(" TAG", count + "" ); } else { Log.d(TAG, "Error getting documents: ", task.getException()); } } });
制限事項と代替手段
このアプローチは、小規模なデータセットに適しています。より大きなデータセットの場合は、代替方法を検討してください:
以上がFirestore コレクション内のドキュメントを効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。