Angular 6 Firebase каждый раз при загрузке должен добавлять новое значение (теперь оно меняется только одно и то же) - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть функция загрузки, которая загружает некоторые значения в базу данных реального времени Firebase:

saveTeam(){
  this.db.object(`projects/${this.auth.userId}/teams/${this.team.name}`).set(this.team)
}

Создается в БД следующим образом:

Projects / UserID /Команды / TeamNamen {

имя: строка;empName: строка;

}

Я хочу, чтобы я мог добавить столько empNames, сколько захочу.Как этого добиться?

1 Ответ

0 голосов
/ 25 ноября 2018

Это немного зависит от значения коллекции empNames.

Если вы просто хотите получить список имен, в том порядке, в котором вы их добавили, вы можете использовать Firebase's * 1004.* function:

var teamRef = firebase.database().ref(`projects/${this.auth.userId}/teams/${this.team.name}`);
teamRef.child('empNames').push(newEmpName);

Это создает такой список:

"empNames": {
  "-LKJDSF2398y2uhd": "Name 1",
  "-LMdswein2rasASD": "Name 2",
  "-LO123dsi2r3AD1s": "Name 3"
}

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

"empNames": {
  "Name 1": true,
  "Name 2": true,
  "Name 3": true
}

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

teamRef.child("empNames").child(newEmpName).set(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...