Firebase Cloud: получить все значения в поле «expireDate» из документа - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь получить значение в expireDate из продуктов, принадлежащих текущему пользователю (у пользователя есть ссылка на продукт). Я использую Flutter и Firebase Cloud - База данных.

FirebaseUser user = await FirebaseAuth.instance.currentUser();
String product = 'exampleId';

    Firestore.instance
        .collection('users/${user.uid}/products')
        .snapshots()
        .listen((snapshot) {
      snapshot.documents.forEach((document) {
        print(document.data['idProduct'].path);
        print(document.data['idProduct']);
      });
    });

as shownbelow Программа возвращает: «Экземпляр« DocumentReference »Я ожидаю« 2020-05-02 »

1 Ответ

0 голосов
/ 10 ноября 2019

Загрузка документа с полем DocumentReference не приводит к автоматической загрузке связанного документа. Вам нужно явно загрузить справочный документ, а затем найти искомое поле expireDate.

Что-то вроде

Firestore.instance
    .collection('users/${user.uid}/products')
    .snapshots()
    .listen((snapshot) {
  snapshot.documents.forEach((document) {
    Document product = await document.data['idProduct'].get();
    print(product.data['expireDate']);
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...