У меня есть такая база данных Shop > warehouse > categories > cat1,cat2,..
, и у каждой категории есть имя и свои документы.Я просто хочу только категории, и я попытался с этим кодом:
firestore.collection("shop/warehouse").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@javax.annotation.Nullable QuerySnapshot queryDocumentSnapshots, @javax.annotation.Nullable FirebaseFirestoreException e) {
if(queryDocumentSnapshots != null) {
for (DocumentSnapshot doc : queryDocumentSnapshots) {
String item = doc.getId();
Log.d("TEST ITEM", item);
}
} else Log.d(TAG, "queryDocumentSnapshots is null.");
}
});
Но, как и ожидалось, я получил эту ошибку:
Invalid collection reference. Collection references must have an odd number of segments, but shop/warehouse has 2
Так что я погуглил и нашел решениеэто предлагает разделить в коллекции / документе , и я написал это:
firestore.collection("shop/").document("warehouse").addSnapshotListener(new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@javax.annotation.Nullable DocumentSnapshot documentSnapshot, @javax.annotation.Nullable FirebaseFirestoreException e) {
Map<String, Object> map = documentSnapshot.getData();
Log.d("size", map.keySet().size()+"");
}
Но этот набор ключей (я предположил, что они являются именами категорий) пуст.Как мне это сделать?Помилуй меня, я впервые с Firebase!