Я пытаюсь установить следующее правило для базы данных Firebase Realtime:
Я хочу, чтобы пользователь мог только читать записанные записи, в которых определенное поле будет таким же, как идентификатор, с которым онинаписаны в firebase.
Для более ясного объяснения, это идентификатор реестра, который в настоящее время находится в firebase:
8E4792606362B0F7
Реестры, подобные тому, который имеет этот идентификатор, среди других полейв них этот:
sender_identifier: XXXXXXXXX
Некоторые другие реестры с другим идентификатором могут иметь идентификатор отправителя, который точно соответствует этому идентификатору (в данном случае 8E4792606362B0F7).
Я хочу, чтобы те, кто имеет этот идентификатор отправителя, могли читать только те данные реестра, которые точно имеют этот идентификатор.
Столько, сколько я пытаюсь понять эту страницу ,Я не могу понять, как это будет сделано.
Единственное, что я более или менее ясно понимаю, это то, что первая часть правила должна быть "auth.id ==. Но я даже неВот что.
Чтобы прояснить больше вещей, я помещаю SQL-запрос, который понадобится для получения совпадений для этого случая, в случае, когда ID и sender_identifier находятся в обоих полях таблицы реляционной базы данных.
SELECT ID FROM TABLE WHERE sender_identifier="8E4792606362B0F7"
При этом будут возвращены все идентификаторы, которым разрешено чтение из реестра с идентификатором "8E4792606362B0F7", и это потребуется для каждой записи реестра.
Как это будетможно сделать такую вещь?
Редактировать: я загружаю изображение, чтобы прояснить, в чем проблема:
Как видно, идентификатор внутри зеленого эллипса совпадает с идентификатором sender_identifier с другим зеленым эллипсом, поэтому в этом случае идентификатор в зеленом эллипсе должен иметь возможность считывать данные, соответствующие идентификатору в черном круге,Также происходит обратное, идентификатор в черном эллипсе должен быть в состоянии прочитать данные, соответствующие идентификатору в зеленом эллипсе, так как последний имеет sender_identifier (также вне хватает эллипса), что соответствует.
Если бы было проблемой иметь то, что я называю идентификатором, и sender_identifier в «другой иерархии», я мог бы создать новое поле с той же информацией, что и то, что я называю идентификатором, так какЯ тот, кто его генерирует.