Для моего приложения iOS я разрешаю пользователям делать запросы друзей, которые в принципе похожи на запрос друга Facebook. Поэтому у кого-то может быть x друзей.Правила безопасности Firebase - предотвратить повторный запрос друга
Я бы хотел, чтобы пользователь не отправлял более одного запроса другу одному пользователю и надеялся сделать это, добавив правило валидации в правила базы данных - (я еще не изучил возможность использования другого список еще)
Текущее правило проверки, которое у меня есть, - это запретить пользователю отправлять запрос другу.
Ниже приведена структура базы данных, где мне нужно проверить, что значения для 'fromUid' и 'toUid' не существуют вместе как пара.
"requests" : {
"-KUr12h72I4T2WiI4JG0" : { // autoChildId
"fromUid" : "etOdpR0wpKYNFrIP7BNirhCYuYo1",
"toUid" : "UeATHfKdjVYunsOt8L0TGxfCBTQ2"
}
текущие правила я имею мешает пользователю отправлять запрос друга к себе
"requests": {
".read": "auth != null",
"$autoID": {
".validate": "newData.child('fromUid').val() != newData.child('toUid').val()"
}
},
Так как я могу проверить, что значение «fromUid» и значение «toUid» не существуют как пара вместе? т. е. этот запрос друга еще не сделан.
Это была моя неудачная попытка по правилам безопасности:
".validate": "&& newData.child('fromUid').val() + newData.child('toUid').val() !== data.child('fromUid').val() + data.child('toUid').val() && newData.child('toUid').val() + newData.child('fromUid').val() !== data.child('toUid').val() + data.child('fromUid').val()"
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или ясность Благодаря
Hi Zura благодарит за отличный ответ. – Edward
Не знаю, почему я структурировал свои данные так, как я.В этом случае нет необходимости добавлять ключ autoByChildId(), а затем иметь узел toUid и fromUid, так как uid пользователя уникален и является одним из событий. Эта структура делает вещи намного проще :), Cheers – Edward
Отлично! ... Было бы хорошо, если бы вы приняли ответ и нажмите стрелку вверх. Это поможет другим узнать, что этот ответ полезен –