目前在我的项目中,我将对象推送到特定ref中的firebase:
this.CoursesList = this.mydb.database.ref('/courses/' + this.CourseCategoryForm);
this.CoursesList.push(this.course);
this.Reference();
但我想同时把它推到别的地方。我读到,在Firebase中无法进行多重播放,因此我编写了函数Reference,它将根据其状态推送课程。
Reference(){
if(this.CourseStatusDecision == 0){
this.CoursesList = this.mydb.database.ref('/availableCourses/' + this.CourseCategoryForm);
}else{
this.CoursesList = this.mydb.database.ref('/currentSemester/');
}
this.CoursesList.set();
}
我的问题是我不想在另一个ref中再次推送整个对象(它通常用不同的键推送,是因为.push()本身会自动创建一个键吗?),我只想要键当我推动并将其设置在另一个参考中的课程时,这可能吗?如何?谢谢。
答案 0 :(得分:1)
Angularfire将返回带有promise的引用。尝试
this.CoursesList = this.mydb.database.ref('/courses/' + this.CourseCategoryForm);
this.CoursesList.push(this.course).then(ref=>{
console.log(ref.key);
//pass the key to the function
this.Reference(ref.key);
}
答案 1 :(得分:0)
你可以使用.key()函数
public void kodpTxt_PropertyChanged()
{
//Do Something (get data from SqlServer and pass them to some UserControl controls
}