Проверить, существует ли родитель в базе данных - Firebase Javascript - PullRequest
0 голосов
/ 04 августа 2020

Мне нужно проверить, существует ли родительский элемент в Live Database, в Firebase, используя Javascript.

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

Есть идеи?

Изображение в базе данных родителя, которого я хочу проверить

1 Ответ

0 голосов
/ 05 августа 2020

Вам не нужно проверять, существует ли users, прежде чем проверять, существует ли указанный c пользователь. Вы можете просто запросить у Firebase значение /users/nickname и проверить, существует ли снимок:

const userNameRef = firebase.database().ref('/users/nickname')
userNameRef.once('value').then((snapshot) => {
  console.log(snapshot.exists());
});

Поскольку вы также хотите обновить псевдоним на основании его отсутствия, вы действительно захотите использовать для этого транзакцию:

userNameRef.transaction((currentValue) => {
  if (currentValue) return; // user already exists, abort the transaction

  return 'JSON you want to store'; // this will create the node
});

В этом случае вы также захотите установить настроить правила безопасности, которые применяются на сервере базы данных, чтобы никогда не позволить пользователю перезаписать существующий узел:

{
  "rules": {
    "users": {
      "$nickname": {
        ".write": "!data.exists()"
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...