나는 사람이 읽고 관리하기가 더 쉬운 방식으로 데이터베이스의 사용자를 구성하고자합니다.전자 메일 주소 또는 사용자 ID로 사용자 데이터 구성
사용자 : 대신에 사용자 ID의 속성 이름으로 사용자의 이메일 주소를 사용 내가 그룹의 사용자 목록이있는 경우, 그들은 목록으로 읽을 수 있도록
"Users" : {
"[email protected]":{
"id": "DK66qu2dfUHt4ASfy36sdfYHS9fh",
"name": "A Display Name",
"groups": {
"moderators": true,
"users": true
}
},
{...}
}
사용자 ID 목록이 아닌 전자 메일.
그룹과 같은 :
"Groups": {
"moderators":{
"name": "moderator",
"members": {
"[email protected]": true,
"[email protected]": true
}
}
}
그룹 대신 :
"Groups": {
"moderators":{
"name": "moderator",
"members": {
"DK66qu2dfUHt4ASfy36sdfYHS9fh": true,
"K2fkHYQDFOge3Hw7SjRaGP3N2sdo": true
}
}
}
그러나, 규칙을 사용하여 사용자의 속성을 확인하는 (예 : 자신의 그룹으로) 필요 내가 위의 목록과 같은 두 개의 사용자 목록을 유지하고 또 다른 본질적으로 ID와 전자 메일 주소의 키 - 값 쌍 테이블을 유지하여 사용자의 전자 메일 주소를 uid
.
의사 코드 규칙 : 중포 기지와Users[UsersKeyVal[auth.uid]].groups.moderator == true
, 가장 허용 연습 무엇을 간주됩니다? 두 가지 장점과 단점은 무엇입니까?
직접 중포 기지로 사용자 로그를 가지고 읽고 중포 기지를 통해 수동으로 데이터를 옴 할 계획인가를 해결 계기반? – Jay
@Jay 슬프게도 다른 사용자가 새 전자 메일/암호 사용자를 만들려면 이러한 작업의 기본 동작은 자동으로 새로 만든 사용자로 로그인해야하기 때문에 필요합니다. 나 또는 다른 관리자가 다시 로그 아웃해야합니다. 다음 우리 자신의 계정으로 다시 데이터베이스에 사용자를 설정합니다. firebase 콘솔을 통해 새로운 사용자를 추가하는 것이 더 쉽고 덜 어색합니다. 내가 프로그래밍 방식으로 처리 할 수있을 때까지 인간이 읽을 수있게 만드는 것을 고려한 이유는 무엇인가. 그러나 귀하의 답변을 읽은 후에는 그렇지 않을 수도 있습니다. –