0

Firebase 데이터베이스에는 사용자가 생성 할 수있는 노드 목록이 있습니다. 예 :사용자 개체 만 가져 오기 Firebase?

car: { 
    $uid: { 
      data... 
    } 
} 

모든 사용자는 car을 만들 수 있습니다. 그러나 사용자는 자신이 만든 car 노드를 가져와야합니다.

몇 가지 보안 규칙과 쿼리를 조합하여 사용자 uid을 각 car에 저장 했으므로 어떤 사용자가 만들 었는지 알았습니다. 그러나 나는 운이 없었어요.

누군가가이를 달성하는 방법에 대한 간단한 예제를 제공 할 수 있다면 크게 감사하겠습니다. 보안 규칙과 쿼리를 조합하면 조금 두렵게됩니다.

감사합니다. 이 같은

+0

주 부모 노드를 만들면 사용자 ID가되고 사용자 ID 노드의 자식으로 자동차를 추가하므로 사용자 ID로 데이터를 가져올 수 있습니다. –

+0

Firebase는 데이터베이스를 가능한 한 평평하게 유지할 것을 권장하며 동의합니다. 관련'user' 노드 아래에 개별적인'car' 노드를 저장하는 것은 이것에 반대하는 것으로 보인다. 내가 오해하지 않는다면? –

+0

아니 그 다시 ruls 가고 만약 당신이 로그인 사용자를 기반으로 데이터를 저장할 경우 ruls 반대? –

답변

1

뭔가 : 서명 한 사용자들이 자신의 cars 하위 노드에서 원하는대로 만들 수 있습니다 이러한 규칙에

{ 
    "rules": { 
    "cars": { 
     "$uid": { 
     ".write": "auth.uid == $uid", 
     ".read": "auth.uid == $uid" 
     } 
    } 
    } 
} 

. 당신은 단지 그들을// 업데이 트를 만들어 한 번에 하나의 자동차를 삭제하려면 거라고 :이 규칙에서

{ 
    "rules": { 
    "cars": { 
     "$uid": { 
     ".read": "auth.uid == $uid", 
     "$carid": { 
      ".write": "auth.uid == $uid" 
     } 
     } 
    } 
    } 
} 

, 사용자는 자동차의 자신의 전체 목록을 읽어 여전히 수 있습니다. 하지만 그들은 한 번에 하나씩 만 자동차를 생성/업데이트/삭제할 수 있습니다.

관련 문제