>

Firebase의 새로운 Firestore 데이터베이스를 가지고 놀면서 고유 한 사용자 이름 (또는 고유 한 하위 노드)을 적용 할 수있는 더 효율적인 방법이 있는지 궁금합니다.

이메일/비밀번호 인증을 사용하지만 사용자가 Twitter와 같은 고유 한 핸들을 만들 수 있습니다.

실시간 데이터베이스를 통해 트랜잭션과 다중 노드 구조로이를 달성 할 수있었습니다.

-users
    -uid1234:
        -username: ryan
-usernames:
    -ryan: uid1234

여분의 usernames 없이이 작업을 수행 할 수 있다고 생각했습니다.  Firestore에서 사용자 이름으로 문서를 사용하는 노드.

  • 답변 # 1

    두 가지 방법으로 할 수 있습니다. 사용자 이름이있는 모음에 사용자가있는 경우 사용자를 만들기 전에 별도의 호출로 확인하십시오.

    또한 다음과 같은 규칙을 만들 수 있습니다 :

    match /users/{document=**} {
        allow create: if !exists(/databases/$(database)/documents/usernames/$(request.resource.data.username));
    }
    
    

    이 경우 사용자 이름이 이미 생성되어 있고 코드를 잡을 수 있으면 오류가 발생합니다.

관련 자료

  • 이전 c++ - 왜이 루프가 작동하지 않습니까?
  • 다음 r - 위 행의 값으로 행의 서브 세트 채우기