Прежде всего будет проще, если вы проверите образ базы данных Firebase в реальном времени:
Итак, с помощью моего кода я создаю несколько "Practicas" с идентификатором (152648 ..в этом случае), а затем внутри этого объекта я создаю список "групп" (групп).Проблема в том, что для этого я использую .push (), поэтому Firebase создает список внутри основного узла firebase, но дело в том, что используемый им ключ является случайным, поэтому я хочу получить доступ к последнемушаг называется "alumnos", но, поскольку я не знаю предыдущий ключ, я не могу получить к нему доступ.Я пытался использовать идентификатор для проталкивания объекта, но он добавляет идентификатор, а затем ключ.
Мой код:
//don't take care about what is values[], grupoList[] and so on
//I just take values from a checkbox on the HTML and I send them to the 'grupo' value of the object 'practica'
addGroup(){
let y=0;
for(let i=0; i<this.values.length; i++){
if(this.values[i] == true){
this.grupoList[y] = this.profiles[i];
y++;
}
}
this.grupo.alumnos = this.grupoList;
this.practica.grupo = this.grupo;
this.practicaService.anyadirGrupos(this.practica);
this.navCtrl.setRoot(VerGruposPage, {'data': this.practica});
}
PracticaService:
//Here is where I work with firebase adding the 'grupo'
public anyadirGrupos(practica){
this.afDB.database.ref('practicas/' + practica.id + '/grupos/').push(practica.grupo);
}
//to access the node 'alumnos' (it doesn't work)
public getAlumnos(practica){
return this.afDB.list('practicas/' + practica.id +'/grupos/' + '../alumnos/')
}
Есть идеи, чтобы получить доступ к последнему шагу, не зная предыдущего?