Как проверить, существует ли идентификатор документа, не читая содержимое документа в хранилище? - PullRequest
0 голосов
/ 19 апреля 2020

В моем текущем проекте базы данных я хочу читать и писать в сообщения подколлекцию коллекции чата, но я хочу убедиться, существует ли идентификатор чата или нет. Идентификатор чата имеет вид user1refID_user2refID. Если идентификатор чата не существует, я хочу создать новый и запустить облачную функцию для назначения идентификаторов UID полям документов участника 1 и участника 2 с помощью сопоставления от refID до UserID. В моих правилах безопасности я проверяю, равен ли входящий идентификатор пользователя идентификатору члена 1 или идентификатору члена 2, если документ уже существует, но как убедиться, что правило безопасности не сработает в первый раз. Проще говоря, я хочу проверить, существует ли идентификатор документа или нет, но также не разрешать доступ на чтение / запись после создания документа. Возможно ли это вообще?

Мой код выглядит прямо сейчас { ссылка }.

enter image description here

1 Ответ

0 голосов
/ 19 апреля 2020

Это невозможно. Firestore не предлагает никаких проверок на существование. Вам нужно будет прочитать документ, чтобы узнать, существует ли он. Возможно, вы захотите иметь пустой документ в другой коллекции с тем же идентификатором, но с другими правилами безопасности, которые вы можете проверить на наличие, прочитав его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...