Ценообразование сложных запросов Firebase

#firebase #flutter #google-cloud-firestore

#firebase #flutter #google-облако-firestore

Вопрос:

У меня есть вопрос о системе ценообразования firebase для сложных запросов. Я знаю, что если я сделаю запрос с условием, результат, соответствующий условию, будет засчитан. Действительно ли это по-прежнему, если я добавлю условие сортировки?

Например

 documentRef.where('something', isLessThan : condition)
.orderBy('something')
.limit(1).get()
  

если я запрашиваю и получаю только один документ, отсортированный по определенному условию, тогда это только 1 количество прочитанных? или он подсчитывает все совпадения условия «где», а затем еще одно количество ограничений?

Комментарии:

1. Я бы предположил, что это остановит запрос, как только он получит ваш единственный результат.

Ответ №1:

Вы платите только за количество документов, которые вы фактически получаете в своем приложении. A limit(1) означает, что получен только 1 документ. Не имеет значения, насколько сложен ваш запрос.

Ответ №2:

Вы платите за количество извлекаемых документов, а не за количество документов, которые необходимо рассмотреть.

Причина этого в том, что Firestore выполняет все операции до этого с индексами, поэтому ему на самом деле не нужно просматривать ваши документы, чтобы упорядочить их (хотя something поле должно быть в индексе).