Flutter

[Flutter] Firebase DB 값 순서정렬(Timestamp, 시간 순 정렬)

JongHyun99 2022. 4. 18. 21:58
728x90

강의를 보고 따라 해서 완성한 채팅어플이다.

다 잘 동작하는데 채팅의 순서가 이상하게 꼬여서 올라온다.

 

 

찾아보니 FireBase의 채팅 doc ID들은 랜덤으로 생성되는데 여기의 문자열 순서대로 정렬되어 채팅어플에 뿌려주고 있으므로 순서가 뒤죽박죽 섞이던 것이다.

 

메시지에 시간필드를 추가해주면 정렬할 수 있지 않을까 시도해봤다.

 

 

 

cloud_firestore_platform 라이브러리의 Timestamp 클래스를 사용해주어 현재 시간과 함께 add 해주자.

 

 

 

 

Firebase에서 확인해보면 timeStamp 속성이 잘 추가되어 있다.

 

 

그리고 stream에서 firebase DB의 값을 가져올 때 orderBy를 이용해 timeStamp 순으로 정렬하여 갖고 오면

 

 

 

의도한 대로 잘 정렬된다.