Я выполняю простой запрос к небольшой тестовой базе данных, это мой запрос:
_firestore.collection('chats')
.where('users', arrayContains: userId)
.orderBy('sentDate', descending: true)
.snapshots();
Моя база данных находится в расположении Cloud Firestore southamerica-east1 и выглядит так (размыты некоторые данные в целях безопасности причины):
Я использую плагин Firestore для Flutter на Android, поэтому платформа подчеркивания будет Android.
Если я удаляю .where('users', arrayContains: userId)
, мой запрос запускается немедленно, и если я изменяю какие-либо поля в базе данных (например, если я использую консоль Firestore и меняю Chat 1
на Chat 2
), обновления появляются немедленно. Но с предложением where
обновление занимает около 42 секунд.
База данных очень мала и содержит не более 15 элементов.
Это нормальное поведение ? Если нет, как я могу это исправить?
Я не запускаю никакого кода поверх этого запроса, я просто получаю его и отображаю его результаты, используя простой DTO и очень быстрый код пользовательского интерфейса, если Я удаляю предложение where
, и все 15 документов отображаются мгновенно. У меня задержка в порядке, у меня сильное соединение с rnet, все невероятно быстро, пока я просто не добавлю эту простую строку where
и все перестанет работать.