TL; DR - поле allDescendants
сейчас не приносит никакой пользы, и вы не должны его использовать.Он был помещен в протокол в ожидании функции, которая называется «Коллекции групповых запросов», которая еще не запущена.
Как вы можете видеть, каждый запрос Firestore имеет parent
и цель collectionId
, в дополнение к другим пунктам ограничения.
В вашем случае parent
равен /projects/$YOUR_PROJECT/datbases/(default)/
, поэтому в основномкорень вашей БД.collectionId
- это имя коллекции, которую вы ищете для документов, которую вы указали как testing
.
Когда allDescendants
имеет значение false, тогда он будет искать только коллекции с таким именем, которыеявляются прямым потомком родителя.В этом случае это означает, что он будет искать коллекцию /testing
.
Если для allDescendants
установлено значение true
, поиск будет охватывать любой коллекции с именем «testing» на любой глубине ниже родительского .Так что не только /testing
, но и что-то вроде /widgets/foo/testing
Однако для выполнения этого запроса требуется то, что мы называем индексом "группы сбора", как указано в сообщении об ошибке.Прямо сейчас у вас нет возможности создать такой индекс, поэтому я сказал выше, что этот параметр в основном бесполезен.
Как мы уже говорили на некоторых других форумах, мы намерены выпустить этоттип запроса в будущем, в этом случае параметр allDescendants
будет более полезным.