Получить подколлекции Firestore - отказано в разрешении - PullRequest
0 голосов
/ 27 декабря 2018

Я дергаю себя за эту проблему.Я пытаюсь получить документы из подколлекции, например так:

func getTransactions(completion: ((_ data: [Any]?) -> Void)? = nil ) {
        if let fbUser = Auth.auth().currentUser {
            let uid = fbUser.uid
            //Make a call to the Database to load the user
            db.collection("users").document(uid).collection("transactions")
                .getDocuments(completion: { (snapshot, error) in
                    if error != nil {
                        print(error)
                    }
                })
        } else {
            print("What")
        }
    }

Теоретически это должно работать нормально, тем более что мои правила такие:

match /users/{user_id} {
    allow get, create: if request.auth.uid != null
  allow update, delete: if request.auth.uid == user_id
}

match /users/{user_id}/transactions/{id=**} {
    allow read, get, create: if request.auth.uid != null
  allow update, delete: if request.auth.uid == user_id
}

match /users/{user_id}/secret {
    allow read, write: if false
}

Но когда я запускаю функцию, Я получаю сообщение об ошибке отсутствия прав доступа.

Ошибка домена = FIRFirestoreErrorDomain Code = 7 "Отсутствует или недостаточно разрешений."UserInfo = {NSLocalizedDescription = Отсутствует или недостаточно разрешений.}

Еще более запутанно, я могу // нормально писать // в местоположение, а также извлекать всю информацию из документа {user},но я просто не могу ... получить доступ к транзакции (или тестированию) по какой-то причине.

Любая помощь?Идеи?Ввод?

Reference of the data structure, in case it's important

...