Таким образом, с 8 мая 2019 года Firebase Firestore теперь поддерживает запросы вложенных коллекций с одинаковыми именами через collectionGroup('collectionName')
.
Есть ли способ получить несколько документов одного и того же docId
в этих подколлекциях?
Вот небольшой наглядный пример того, чего я пытаюсь достичь.
collectionA
- documentA
: collectionB
- documentC
- documentB
: collectionB
- documentC
Допустим, я хочу получить оба этих documentC
документа. Есть ли способ сделать это?
Текущий код, который я пытаюсь использовать, таков:
const docIdFieldPath = FieldPath.documentId()
admin.firestore().collectionGroup('collectionB').where(docIdFieldPath, '==', 'documentC').get().then(...)
Однако мне выдается ошибка:
INVALID_ARGUMENT: Resource name "projects/myProject/databases/(default)/documents/documentB" lacks "/" at index 86.
В документах по этому вопросу говорится, что необходимо создать индекс перед попыткой сделать запрос через collectionGroup
, но если я попытаюсь сделать это через онлайн-индексный портал, я получу сообщение о том, что поле __name__
зарезервировано.
Я что-то упустил, или эта функция еще не поддерживается?