Моя база данных Firestore в настоящее время настроена так:
В группах есть участники (список пользователей), и я хочу запросить и найти все группы определенного пользователя. Я нашел, что запрос collectionGroup должен быть решением, и вот мой код для запроса.
let db = Firestore.firestore()
let ref = db.collectionGroup("members").whereField("id", isEqualTo: userID)
ref.getDocuments(completion: { (snapshot, error) in
guard let snapshot = snapshot else { return }
print(snapshot.documents.count) --> Always 0
})
Я проследил за документацией и добавил индекс в базу данных:
А также обновлены правила безопасности (приложение еще не общедоступно, поэтому правила являются просто заполнителями).
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
match /{path=**}/members/{doc} {
allow read, write;
}
}
}
Нужна помощь в понимании того, почему (и исправление) запроса всегда возвращает пустой результат, когда ясно, что в базе данных есть группа с членом с соответствующим идентификатором пользователя.