23.09.12 10:33 작성
·
229
·
수정됨
0
'북마크 데이터 저장' 강의에서 북마크 데이터를 저장할때 키값을 기존 contents에 있는 key값으로 넣어주는 이유가 있을까요?
저번 왕초보편에서는 그냥 bookmark의 child로 유저의uid만 넣고 key값은 신경을 안썼던거 같은데 이번에는 북마크할 컨텐츠의 key값도 받아와서 그값으로 저장을 하시길래 그렇게 하면 어떤 장점들이 있는지 궁금합니다!!
<왕초보편 방식>
contentRvItemBinding.bookmarkArea.setOnClickListener {
val myBookmarkRef = database.getReference("bookmark")
val title = contentModel.title
val imageTitle = contentModel.imageTitle
val url = contentModel.url
val model = ContentModel(title, imageTitle, url)
myBookmarkRef
.child(Firebase.auth.currentUser!!.uid)
.push()
.setValue(model)
Toast.makeText(context, contentModel.title, Toast.LENGTH_SHORT).show()
}
<현재>
contentRvItemBinding.bookmarkArea.setOnClickListener {
FBRef.bookmarkRef
.child(FBAuth.getUid())
.child(key)
.push()
.setValue("good")
Toast.makeText(context, "${contentRvItemBinding.textArea.text} 북마크 등록", Toast.LENGTH_SHORT).show()
}
답변 2
0
2023. 09. 16. 18:05
Firebase RealtimeDatabase가 일반적인 관계형 데이터베이스와 다른 면이 있긴 하지만..
대략적으로 그렇게 생각해주셔도 될 것 같습니다 :)
0
2023. 09. 12. 14:00
후속 강의를 들어보니 나중에 북마크안에 있는 데이터의 키값과 컨텐츠의 키값을 비교해서 북마크를 등록하고 삭제하려고 그러는거 같습니다!
그럼 만약 이걸 관계형데이터베이스로 바꿔본다면 북마크는 uid 하나당 여러개의 컨텐츠를 가질 수 있는 관계가 되니까 one to many 관계가 되는건가요?