Firestore Web - сколько документов читает для использования массива-содержит? - PullRequest
1 голос
/ 08 марта 2020

Сколько операций чтения документов мы платим за использование array-contains запроса?

Например,

В документе 1 есть поле с именем serialNumberArray с массивом [1, 2, 3, 4, 5]

В документе 2 есть поле с именем serialNumberArray с массивом [6, 7, 8]

В документе 3 есть поле с именем serialNumberArray с массивом [9, 10, 11, 12]


Так что, если мы запросим .where('serialNumberArray', 'array-contains', 10).limit(1) сколько считываний это будет стоить?

Ссылка: { ссылка }

1 Ответ

3 голосов
/ 08 марта 2020

Поскольку ваш запрос определен с помощью limit(1), если существует один или несколько документов, соответствующих условию array-contains, вы получите только один документ, и, следовательно, вы заплатите только за один документ.

Если нет документа, соответствующего запросу, вы также заплатите за один документ, поскольку «для каждого выполняемого запроса взимается минимальная плата за чтение одного документа, даже если запрос не возвращает результатов», см. do c.


Вообще говоря, с запросом Firestore вы платите только количество чтений, соответствующее количеству документов, возвращенных запросом, а не количество документов в коллекция.

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