Предложение Where в запросе Flutter Firestore не работает со значением из переменной

# #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 того, как была установлена. Извините, что отнял у вас время.