Когда вы запускаете запрос к коллекции с помощью get () , вы собираетесь получить QuerySnapshot , который содержит ноль или более документов, соответствующих вашему запросу. Важно понимать, что даже если вы ожидаете только один документ, Firestore этого не знает и требует, чтобы вы проверяли размер набора результатов внутри QuerySnapshot. Прямо сейчас ваш код предполагает, что есть один документ, и это не сработает.
Используя API QuerySnapshot, ваш код должен выглядеть примерно так:
const querySnapshot = await db
.collection('groups')
.where('groupDetails', '==', [change.after.id])
.get()
if (querySnapshot.docs.length > 0) {
console.log(querySnapshot.docs[0].id)
}
else {
console.log("No documents")
}
Будет напечатан идентификатор первого документа в наборе результатов, если были результаты, соответствующие запросу.