Как установить правила безопасности Firestore?resource.data: ошибка нулевого значения - PullRequest
2 голосов
/ 02 мая 2019

Мне нужна помощь в разработке правил безопасности для работы в пожарном депо.

Вот мои правила пожарного магазина:

service cloud.firestore {
  match /databases/{database}/documents {
     match /orders/{orderID} {
       allow read, update: if  request.auth.uid == resource.data.buyerId  || request.auth.uid == resource.data.sellerId;
    }
  }
}

коллекция моих заказов:

orders: {
sellerId: 'some-id',
createdAt: timestamp,
buyerId: 'some-id'
}

Должны быть возвращены все документы из коллекции заказов, в которой идентификатор customerId или sellerId равен авторизованному пользователю (request.auth.uid).

но указанное выше правило не работает должным образом.

скриншот коллекций пожарных

выход симулятора пожарной базы

1 Ответ

2 голосов
/ 03 мая 2019

Это сообщение об ошибке указывает на то, что запрошенный документ фактически не присутствовал в базе данных.Вы ввели "orders / {orderId}", который выглядит так, как будто вы вставили подстановочный знак в поле Location в симуляторе.Это не сработает.Вам нужно ввести путь к фактическому документу, который существует, если вы хотите проверить правило, которое использует значения его полей.

...