# #flutter #dart #google-cloud-firestore
#трепетать #дротик #google-облако-firestore
Вопрос:
Я пытаюсь передавать отфильтрованные данные Firestore. Запрос отлично работает с жестко закодированными значениями. Однако, когда я использую динамическое значение в .where('field', isEqualTo: ...)
предложении, запрос дает 0 результатов.
Этот запрос работает просто отлично:
Stream getMediaStream({ required String albumId, }) { Stream mediaStream = _mediaCollectionReference .where('albumId', isEqualTo: 'jhQ6nwjWcj6rnDPDYZw4') // hardcoded .snapshots(); return mediaStream; }
Но когда я заменяю жестко закодированное значение переменной, это не работает:
Stream getMediaStream({ required String albumId, }) { print(albumId) // jhQ6nwjWcj6rnDPDYZw4 Stream mediaStream = _mediaCollectionReference .where('albumId', isEqualTo: albumId) // dynamic .snapshots(); return mediaStream; }
Я тоже пытался:
albumId.toString() '$albumId' '${albumId.toString()}' '"$albumId"' ''$albumId''
Есть идеи, почему это происходит?
Ответ №1:
Конечно, проблема была в другом. Функция getMediaStream
была вызвана до albumId
того, как была установлена. Извините, что отнял у вас время.