【发布时间】:2020-01-06 10:10:01
【问题描述】:
您好,我想从所有用户那里检索集合“收藏夹”下的字段“ID”。
FirebaseDatabase.getInstance().getReference("Favorite")
.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dst : dataSnapshot.getChildren()) {
//Key stores KjfLmUnPUaWeYDETp04 and PlamHmUnPUaWeYDETp04 String key = dst.getKey(); Log.d("Idsssss", key);
}
}
});
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference favoriteRef = rootRef.collection("usersFavorite").document(firebaseAuth.getCurrentUser().getUid()).collection("Favorite");
favoriteRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d("TAGTAGTAG", document.getString("id"));
}
}
}
});
但它不起作用我想从所有文档中获取所有文档 ID, 当我想检索文档 ID 时,它只检索第一个 ID(因为它与用户的 ID 相同)使用此命令 String id = FirebaseFirestore.getInstance().collection("usersFavorite").document(firebaseAuth.getUid()).collection("Favorite").document(firebaseAuth.getUid()).getId();
完成,我的路径是 usersFavorite => UserId => Favorite => Random ID => 然后是我要检索 ID 的收藏列表
这是我的火力基地结构 enter image description here
【问题讨论】:
-
请发布到目前为止您尝试过的内容。您可以一次检索所有孩子。
-
FirebaseDatabase.getInstance().getReference("Favorite").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot dst : dataSnapshot.getChildren()) { //Key存储KjfLmUnPUaWeYDETp04和PlamHmUnPUaWeYDETp04 String key = dst.getKey(); Log.d("Idsssss", key);
-
我不认为上述结构适用于 Firebase 实时数据库。
-
这是 FireStore 不是实时数据库
-
@MondherEssid 请提供更详细的数据库结构,以便我可以使用正确的参考更新我的答案。我需要查看根集合。
标签: java android firebase google-cloud-firestore