Извлечение снимков из подсборки пожарного магазина в объект дротика / флаттера - PullRequest
0 голосов
/ 08 марта 2020

Новое здесь. Я гуглил все и не могу понять это. Первые две функции ниже работают безупречно, третьи всегда возвращают нуль немедленно, не вызывая мою функцию ListFromSnapShot, которая просто превращает карту в список. Я предполагаю, что

Я неправильно звоню в Firestore, но не знаю, как это сделать правильно.

final CollectionReference customerCollection = Firestore.instance.collection('customers');
final CollectionReference jobCollection = Firestore.instance.collection('jobs');  

// get user doc stream
Stream<UserData> get userData {
 return customerCollection.document(uid).snapshots()
  .map(_userDataFromSnapshot);
}   
      //Returns only snapshots with matching customer name to StreamProvider object
Stream<List<Job>> get jobQuery {
 return jobCollection.where('customerName', isEqualTo: currentCustomer.companyName)
  .snapshots()
  .map(_jobListFromSnapshot);
}   
//The following always returns Null 
Stream<List<JobSectionModel>> get jobQuerySections {

return jobCollection.document('Family Dollar').collection('sections')
  .snapshots()
  .map(_jobSectionListFromSnapshot); 

Это моя структура базы данных Базовая коллекция Base Collection

Подколлекция Subcollection

Любая помощь будет с благодарностью.

1 Ответ

1 голос
/ 09 марта 2020

Приведенный выше код работает, проблема, после нескольких разочаровывающих дней, оказалась в случайных местах на пути пожарного депо. Я публикую это как ответ, потому что после поиска в Google было много других с подобной проблемой, и я не хочу, чтобы они набрали go из-за того же разочарования. Firestore не будет показывать это, пока вы буквально не нажмете имя пути, и оно не взломает sh вашу программу, оно просто ничего не возвращает.

Сделайте одолжение и используйте функцию .trim () при добавлении данных и если вы делаете это вручную в пожарном магазине, убедитесь, что нет пробелов.

Также я перестроил код следующим образом, который также работает (без пробелов, конечно)

Stream<QuerySnapshot> getjobQuerySections(BuildContext context) async*{

  yield* jobCollection.document('T-MOBILE').collection('whyspaces').snapshots();

Надеюсь, это кому-нибудь поможет. Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...