Правила безопасности Firebase: как я могу использовать тире или дефис в путях?

#google-cloud-firestore #firebase-security

#google-cloud-firestore #firebase-безопасность

Вопрос:

Я не могу найти способ использовать дефисы или тире в пути к моим правилам безопасности Firestore. Я получаю это сообщение об ошибке: «Неожиданный ‘-‘»

Это работает только в онлайн-редакторе / симуляторе правил, но я получаю сообщение об ошибке при попытке развернуть файл .rules с помощью командной строки Firebase (firebase deploy — только firestore: rules).

Я попытался использовать одинарные кавычки вокруг имени коллекции с дефисом (путь). Я ничего не могу найти в Интернете по этой проблеме.

 service cloud.firestore {
  match /databases/{database}/documents {

    // Match any document in the 'oversea-users' collection
    match /oversea-users/{oversea-user} {
      allow read: ... condition ...;
    }
  }
}
  

Ответ №1:

Я обнаружил, что моя ошибка была только в имени объекта «catch», а не в пути. Необходимо использовать overseusers вместо overseaser-user между {} .

 service cloud.firestore {
    match /databases/{database}/documents {

    // Match any document in the 'overseaUsers' collection
    match /oversea-users/{overseaUsers} {
        allow read: ... condition ...;
    }
  }
}
  

Комментарии:

1. Эта вещь в фигурных скобках называется «подстановочным знаком».