Документы запроса, имеющие ссылку на тип в Firestore - PullRequest
0 голосов
/ 01 сентября 2018

Согласно Cloud Firestore => Тип данных Документация, введите reference, действуйте как внешний ключ в мире NoSQL. но когда я запрашиваю его во флейтере / дротике. База данных в Firestore.

[Коллекция]

Примечание: Все данные типа DocumentOne reference

  1. CollectionWithReference
    • DocumentOne
      • FKOne / doc001
      • FKTwo / doc002
  2. FKOne
    • doc001
      • "someData": "Просто некоторые данные"
  3. FKTwo
    • doc002
      • "anotherData": "Просто еще одна дата"

Пример кода:

Firestore.instance.collection('CollectionWithReference').snapshots()
  .listen((data) => data.documents.forEach((document) => print(document.data)));

выход

{FKOne: Экземпляр «DocumentReference», FKTwo: [Экземпляр «DocumentReference», Экземпляр «DocumentReference», Экземпляр «DocumentReference»]}

1 Ответ

0 голосов
/ 01 сентября 2018

Результат в вашем вопросе , ожидаемый .
Поскольку ваши ссылки анализируются как объекты , print будет распечатывать только Instance of 'DocumentReference'.

Здесь вы можете взглянуть на класс DocumentReference, который содержит все необходимые данные о вашей справке.
В следующем коде я распечатаю path (который является получателем каждого DocumentReference объекта) каждой из ваших ссылок:

Firestore.instance.collection('CollectionWithReference').snapshots().listen((data) {
  data.documents.forEach((document) {
      print(document.data['FKOne'].path);
      document.data['FKTwo'].forEach((documentReference) => print(documentReference.path));
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...