Как ссылаться на некоторую информацию из другой записи базы данных в базе данных реального времени Firebase с некоторой информацией из C - PullRequest
0 голосов
/ 13 июня 2019

У меня есть запись в Firebase, например:

ID111
     nconfirmations: 4

Еще один такой:

ID222
     sender_identifier: 111

Я хочу создать правило firebase, которое будет ссылаться на содержимое ID111, как только ID222 будет установлен как способный читать.

Я пробовал с этим:

{
   "rules": {
     "Chat": {
       "$uid": {
         ".read":  "auth!=null
          && ($uid.contains(data.child('sender_identifier').val()
          && (root.child('Chat/'ID'+root.child('Chat/$uid/sender_identifier').val()/nconfirmations').val()>=2)) ",   

Для

$uid.contains(data.child('sender_identifier').val()

Я выполняю упомянутое ограничение, просто ID222 - это тот, который может читать, поскольку у него есть «111», но если я это сделаю, похоже, что на данный момент я больше не могу ссылаться на дополнительные записи с данными, данные относятся только к записи ID222.

Я попытался получить доступ к содержимому с помощью корневого пути, как показано в правиле, но он просто не открывается.

Если бы правило работало должным образом, я предполагаю, что оно должно дать ожидаемый результат, поскольку 'ID'+root.child('Chat/$uid/sender_identifier').val() должно возвращать "ID111".

Как это могло быть сделано? Это вообще возможно?

1 Ответ

0 голосов
/ 13 июня 2019

Это выглядит синтаксически некорректно:

root.child('Chat/'ID'+root.child('Chat/$uid/sender_identifier').val()/nconfirmations').val()

Я думаю, вы пытаетесь сделать:

root.child ('Chat / ID' + root.child ('Chat / $ uid / sender_identifier '). Val () +' / nconfirmations '). Val ()

, который будет использовать значение из пути /Chat/ID.../nconfirmations в проверке, с ..., считываемыми значениямиот /Chat/$uid/sender_identifier.

Если проблема не в этом, обновите ваш вопрос, указав минимальный полный код, который считывает данные, и фактический JSON, который вы проверяете как текст.Это можно получить, щелкнув ссылку «Экспорт JSON» в меню переполнения (⠇) на консоли База данных Firebase .

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