2013-04-02 2 views
2

지금까지 운이 없었던 firebase 데이터 참조 URL에 동적으로 하위를 추가하려고 시도했습니다. ---- 이메일 "[email protected]"Firebase 참조 URL에 동적 하위 추가하기

|
을 --fred |
-beta_signups | |
이 -users

MyApp를
:

나는 다음과 같은 데이터 구조를 가지고 가정

"가입"섹션에서 이메일 주소를 기반으로 가입 한 사람들을 자녀로 추가하고 싶습니다. 여기 제가 시도한 것이지만 작동하지 않았습니다.

var myDataRef = new Firebase("https://myapp.firebaseio.com/beta_signups/"); 
    $('#submit').click(function() { 
     var email = $('#email').val(); 
     myDataRef.child(email).push({email: email, beta_key: false}); 
     $('#email').val('We got it.'); 
    }); 

동적으로 자식을 추가 할 수있는 방법에 대한 제안 사항이 있으십니까?

답변

4

전자 메일 주소에 잘못된 문자가 포함되어 있기 때문에 전자 메일 주소를 하위 경로의 키로 사용할 수 없습니다. 문서의 Creating References을 참조하십시오.

전자 메일 주소를 기반으로 하위를 만든 다음 push을 사용하여 전자 메일의 하위를 만들 수도 있습니다. 아마도 .child(email) 비트를 제거하고 푸시를 사용하여 레코드를 만들어야합니다.

var user_id = myDataRef.push({email: email, beta_key: false}).name(); 

첫 번째 질문은 실제로 사용자를 이메일로 저장할지 여부입니다. 일반적으로 ID는 훨씬 더 유용 할 것입니다 (나중에 이메일을 변경할 수 있습니다.이 경우 사용자의 모든 데이터를 시스템에 다시 입력해야합니다).

요구 사항 인 경우 해시 또는 위생 조치를 수행해야합니다. 예 :