항해99 개발일지

Realtime database에 랜덤한 키값으로 접근하기

변기원 2022. 5. 2. 03:46

이번 프로젝트를 하면서 정해진 기간 내에 모든 기능을 구현하기 위해

프론트에서 시각적인 부분의 실시간 기능은 파이어베이스를 통해 구현하기로 했다.

다행히 Realtime database가 많이 어렵지는 않았다. 공식문서도 보기 쉽고 코드도 쉽게 사용하도록 되어있다.. 구글최고!

 

오늘 해결한 부분은 랜덤한 키값을 가져와서 삭제하는 기능이다.

일단 allPlan/day1/ 아래로 랜덤하게 지정된 key가 있다. 나는 저 key에 접근해서 remove()를 써줘야하는데...

매번 다르게 지정되는 key에 어떻게 알고 접근할 수 있을까..?

고민을 하다가 일단 저 key를 가지고 오기만 하면 뭔가 가공을 할 수 있을거라고 생각했다.

그럼 처음 가지고 오는 부분에서 snapshot의 모양을 한번 확인해보자..

스냅샷의 모양을 확인해보니 다행히 key값도 가지고 온다. 

알고리즘 공부할때 얼핏,, 객체를 배열로 바꾸는게 있다고 했었는데..?

Object.keys()를 통해 저 key들로 이루어진 배열을 만들어서 일단 state에 가지고 있자!

그리고 삭제버튼마다 인덱스를 가져올 수 있다면? 배열에서 해당 인덱스로 키를 찾아서 접근할 수 있겠다.

이렇게해서 랜덤한 realtime database의 key값에도 접근할 수 있게 되었다!