Правила Firestore - получить () данные из другого документа - PullRequest
1 голос
/ 10 апреля 2020

Итак, у меня есть две коллекции в Firestore. Один для пользователей, а другой для продуктов.

Пользователь выглядит (взято прямо для БД):

users
--1gJZVpJcnQdaZWnbVJUj
----admin: true
----name: xyz
----email: xyz@gmail.com
----etc

Продукт выглядит так:

products
--1gJZVpJcnQdaZWnbVJUj
----name: xyz
----desc: xyzxyzxyz
----price: 20.00
----etc

Теперь я не могу добавить продукт, хотя я и являюсь администратором ... Я получаю FirebaseError: Missing or insufficient permissions.

Это мои правила Firestore:

service cloud.firestore {
    match /databases/{database}/documents {
            match /{documents=**} {
                allow read, write: if false
            }
            match /products/{prodID} {
                allow read: if true
                allow write: if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.admin == true
            }
            match /users/{userID} {
                allow read, update, delete: if resource.data.id == request.auth.uid
                allow create: if true
            }
    }
}

Все мои * Код 1022 *, кажется, работает нормально, поскольку я консоль зарегистрировал абсолютно все.

PS : я уже пытался этот пост.

...