Используя метод set()
, вы записываете данные в местоположение fbclass.child(user.uid)
(т.е. ссылку), см. doc .
Поскольку ваше местоположение основано на user.uid
вы снова и снова используете одно и то же местоположение для данного пользователя: отсюда и перезапись (так как set()
«перезаписывает любые данные в этом месте и во всех дочерних местоположениях»).
Вы должны генерировать уникальный ключ, каждый раз, когда вы пишете новую классную комнату для того же пользователя.Для этого вам следует использовать метод push()
( doc ), который «генерирует новое дочернее местоположение с использованием уникального ключа», следующим образом:
var newClassroomRef = fbclass.child(user.uid).push(
{
'Class_Id': '....',
'Teacher': '....'
}
);
Следующее также будет работать:
var newClassroomRef = fbclass.child(user.uid).push();
newClassroomRef.set({
'Class_Id': '....',
'Teacher': '....'
});
Обратите внимание, что это создаст дополнительный уровень в вашем дереве узлов под узлом user.uid
;
- Classes
- yo9HQ....... <- user.uid
- 6trQEd....... <- classroom uid
- Teacher: .....
- .....: .....
- PKH6fd....... <- classroom uid
- Teacher: .....
- .....: .....