Java 如何从集合中检索所有文档ID?

Java 如何从集合中检索所有文档ID?,java,firebase,google-cloud-firestore,Java,Firebase,Google Cloud Firestore,我正在尝试获取集合组中的所有文档ID。文档id是唯一的组名。另外,组中的每个文档都没有字段,只有指向其他集合的指针。我编写了以下代码: fireDB.collection("groups").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnaps

我正在尝试获取集合
组中的所有文档ID
。文档id是唯一的组名。另外,
组中的每个文档都没有字段,只有指向其他集合的指针。我编写了以下代码:

fireDB.collection("groups").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            QuerySnapshot querySnapshots = task.getResult();
            if (querySnapshots != null) {
                for (QueryDocumentSnapshot currentDocumentSnapshot : querySnapshots) {
                    groups.add(currentDocumentSnapshot.getId());
                }
                Collections.sort(groups);
                ArrayAdapter<String> adapter = new ArrayAdapter<>(SignUpActivity.this,android.R.layout.simple_list_item_1,groups);
                groupNameText.setAdapter(adapter);
            } else {
                Log.d(this.getClass().getName(), "No groups in the database");
            }
        } else {
            Log.d(this.getClass().getName(), "addOnCompleteListener:failed");
        }
    }
});
fireDB.collection(“groups”).get().addOnCompleteListener(新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
QuerySnapshot querySnapshots=task.getResult();
if(querySnapshots!=null){
对于(QueryDocumentSnapshot currentDocumentSnapshot:querySnapshots){
add(currentDocumentSnapshot.getId());
}
集合。排序(组);
ArrayAdapter=newArrayAdapter(SignUpActivity.this,android.R.layout.simple\u list\u item\u 1,groups);
setAdapter(适配器);
}否则{
Log.d(this.getClass().getName(),“数据库中没有组”);
}
}否则{
Log.d(this.getClass().getName(),“addOnCompleteListener:failed”);
}
}
});

但是
groups
总是空的,因为firebase不会给我没有字段的文档(经过一些调试后就知道了)。我应该怎么做?

我听起来像是在文档路径下有一些子集合,而在该路径上没有文档。这是一种有效的情况,但我认为不可能在客户端SDK中获取这些位置,因为那里没有文档


Firebase控制台以斜体显示这些位置,因为它需要显示每个位置下的子集合。它可能使用了或管理SDK中的
show\u missing
标志来实现这一点。

我听起来像是在文档路径下有一些子集合,而在该路径上没有文档。这是一种有效的情况,但我认为不可能在客户端SDK中获取这些位置,因为那里没有文档


Firebase控制台以斜体显示这些位置,因为它需要显示每个位置下的子集合。它可能使用了或管理SDK中的
show\u missing
标志来实现这一点。

我想知道您是如何在
组中创建没有字段的文档的,为什么?我想知道您是如何在
组中创建没有字段的文档的,为什么?