2017-01-13 1 views
0

두 개의 Firebase 사용자 ID를 작성한 날짜순으로 정렬하는 간단한 방법이 자바 스크립트에 있다면 궁금합니다. 필자가 이해 하듯이, Firebase ID의 첫 번째 절반은 글자와 숫자가 혼합 된 것으로 구성되며 (ID 작성 시간을 나타냄), 나머지 절반은 문자와 숫자의 임의의 문자열입니다 동일한 밀리 초 단위로 생성 된 두 개의 ID가 다를 수 있습니다.자바 스크립트를 사용하여 Firebase ID를 연대순으로 주문하는 방법

나는 예를 들어, 두 개의 중포 기지 ID가있는 경우, 궁금하네요 : qofV6w2odvZEBnPaE828awAx9rc2FK2n0xyLRKwQGrysfwBxQdP35Kw7 을 중포 기지에 의해 생성 된 하나 먼저 첫번째 될 수 있도록 자바 스크립트를 사용하여 주문하는 방법, 그리고 하나가되어 더 최근에 만들어진 두 번째 것입니다?

Firebase 코드가없는 자바 스크립트에서 Firebase 코드를 사용할 수 있는지 확신 할 수 없지만 (Firebase가 자신의 알고리즘을 사용하여 ID를 만드는 경우), 자바 스크립트만을 사용하여 ID를 정렬 할 수 있습니까? 그리고 그렇지 않다면 이것에 대해 가장 좋은 방법은 무엇입니까? 미리 감사드립니다!

답변

1
당신은 여기에서 두 가지 개념 혼동하고

:

  • 중포 기지 인증 사용자 ID (도의 UID라고도 함), 사용자를 식별 임의의 문자 단지 순서입니다.

  • Firebase 데이터베이스 자동 푸시 ID (push() 또는 childByAutoId()로 생성 됨)가 지속적으로 증가하는 키입니다.

데이터베이스의 푸시 ID는 본질적으로 정렬됩니다. 인증에 의한 UID는 그렇지 않습니다.

Firebase 인증 사용자 목록을 작성한 순서대로 가져 오려면 데이터베이스에 사용자 정보를 저장해야합니다. 사용자를 시간순으로 가져 오기 위해 푸시 ID로 저장할 수는 있지만 UID에 사용자를 저장하는 것이 더 관용적입니다. 그래도 각 사용자에게 타임 스탬프를 추가하면 생성 순서대로 나열 할 수 있습니다.

샘플 JSON :

Users 
    uidOfEmily: 
     creationTimestamp: 1484320868847 
     name: "Emily" 
    uidOfPuf: 
     creationTimestamp: 1452784908658 
     name: "Frank" 

코드가 생성 시간에 의해 주문 :

ref.child("Users").orderBy("creationTimestamp").on("child_added"... 
+0

아이 완벽 덕분에 다시 도움 프랭크을위한! – Emily

관련 문제