Как я вижу в вашей схеме базы данных, ваше свойство user_stories
имеет тип array.Это означает, что когда вы пытаетесь получить этот документ, вы получаете это свойство как List
объектов, а , а не как массив.К сожалению, Firestore не может преобразовать этот список в список пользовательских объектов, вы должны сделать это самостоятельно.Поэтому, пожалуйста, попробуйте это:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference sendStoriesRef = rootRef.collection("sendstories");
sendStoriesRef.document("kueIJcdQARzEKU7EVio9").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
List<Map<String, Object>> list = (List<Map<String, Object>>) document.get("user_stories");
//Iterate through the list to get the desired values
}
}
}
});
Теперь просто переберите список, чтобы получить нужные значения.Если kueIJcdQARzEKU7EVio9
является uid
пользователя, то просто измените это значение с помощью этого uid
:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();