Как получить Sub Collection в пожарной базе FireStore - PullRequest
0 голосов
/ 05 июля 2018

У меня есть проект Firebase, который имеет такую ​​структуру

CollectionReference adminList;
adminList = mFirestore.collection("AdminList");
            Map<String,Object> k = new HashMap<>();
            k.put("order",order);
            k.put("status","New Order");
            k.put("hotel_name",username.getText().toString());
            k.put("user_id",mUid);
            k.put("time", "Select Time");
            //adminList.document(order).set(k);
            adminList.document(mUid).collection("User").document(order).set(k);

Может быть несколько пользователей с их идентификатором пользователя. Я должен найти его в списке.

Для этого я использовал следующий код.

 @Override
protected void onStart() {
    super.onStart();

    mFirestore.collection("AdminList").getParent().collection("Users").addSnapshotListener(MainActivity.this, new EventListener<QuerySnapshot>() {
        @Override
        public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {

            orderList.clear();
            assert queryDocumentSnapshots != null;
            List<OrderList> types = queryDocumentSnapshots.toObjects(OrderList.class);
            orderList.addAll(types);

            adapter = new AdminListAdapter(MainActivity.this,orderList);
            recyclerView.setAdapter(adapter);

        }
    });

}

но мне нужен способ доступа к подколлекции и ее документу, чтобы я мог получить список в моем окне повторного просмотра.

enter image description here enter image description here

1 Ответ

0 голосов
/ 05 июля 2018

Делай так: -

firestore.collection("AdminList").document(mUid).collection("User").document(order).addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
            @Override
            public void onEvent(DocumentSnapshot documentSnapshot, FirebaseFirestoreException e)
            {
                if (documentSnapshot.exists())
                {
                  types = queryDocumentSnapshots.toObjects(OrderList.class);
                  orderList.addAll(types);
                 }
             });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...