Как получить идентификатор документа вложенной коллекции в Firestore Android

# #java #android #google-cloud-firestore

Вопрос:

У меня есть данные, подобные этому:

 Collection
         -document
              - subCollection 
                         - randomDocumentId
                                           -subSubCollection
 

отредактированный:

и у randomDocmentId есть коллекция, поэтому я хочу, чтобы эта коллекция хранилась в моем randomDocumentId;

Как я могу получить доступ к этому конкретному randomDocumentID

Комментарии:

1. Вам нужны все документы подкласса? Правильно

2. не только конкретный документ

3. это соответствует строковому слову, например userName

4. Пожалуйста, отредактируйте свой вопрос и добавьте структуру своей базы данных в виде скриншота и укажите точные данные, которые вы хотите получить. Пожалуйста, ответьте @AlexMamo

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

Ответ №1:

Попробовать это

  public void getDocuments(String documentsId){
    FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
    DocumentReference document = firebaseFirestore.collection("COLLECTION_NAME")
            .document("Documnets_id").collection("SUB_COLLECTION").document(documentsId);
    
    document.get().addOnSuccessListener(new OnSuccessListener< DocumentSnapshot >() {
        @Override
        public void onSuccess(DocumentSnapshot documentSnapshot) {
            if (documentSnapshot.exists()){
                String result = documentSnapshot.getString("FIELD_NAME"); // Which you want
                Log.d(TAG, result);
            }
        }
    });
}
 

Вызовите метод

         getDocuments("Your documents id");
 

Комментарии:

1. Да, вы правы, но, но ! что делать, если у меня есть 100 документов, то могу ли я написать их вручную.

2. Отредактированный вопрос

3. Просто вызовите метод и замените его на documentId