为了账号安全,请及时绑定邮箱和手机立即绑定

如何在FiRESTORE中计算集合下的文档数?

如何在FiRESTORE中计算集合下的文档数?

收到一只叮咚 2019-07-17 18:49:42
如何在FiRESTORE中计算集合下的文档数?我想让收藏参考在CloudFiRESTORE上存在的计数,我尝试使用:FirebaseFirestore db = FirebaseFirestore.getInstance();     final CollectionReference postsCollection = db.collection("Posts");     final TaskCompletionSource<Integer> source = new TaskCompletionSource<>();     new Thread(new Runnable() {         @Override         public void run() {             int fromWhereToStart = postsCollection.get().getResult().size();             source.setResult(fromWhereToStart);         }     }).start();     Task<Integer> task = source.getTask();     task.addOnCompleteListener(new OnCompleteListener<Integer>() {         @Override         public void onComplete(@NonNull Task<Integer> task) {             Log.e("Z_fromWhereToStart", "= " + task.getResult());         }     });但不幸的是,我得到了:java.lang.IllegalStateException: Task is not yet complete是否有另一种方法来获取另一种方法的计数来修复IllegalStateException?
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

内部onCompelete()检查if (task.isSuccessful())在使用日志之前。还可以迭代文档,如for (DocumentSnapshot document : task.getResult()){ yourCounter++;}增量counter每次迭代以知道集合中有多少文档"Posts"可得


查看完整回答
反对 回复 2019-07-17
  • 2 回答
  • 0 关注
  • 629 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信