2015-01-15 4 views
2

뭔가가 일어나고 정의되지 않는다 ... 나는 one of their examples에서 직접 코드를 사용 :하는 것은 매우 이상한

var fireBaseRef = new Firebase(FIREBASE_ROOT); 
var id = fireBaseRef.child("flintstones").push(); 
id.set({ 
    first: 'Fred', 
    last: 'Flintstone' 
}, function (err) { 
    if (!err) { 
     //var name = id.key(); 
     console.log("Set with ID: " + id); 
    } 
}); 

이 코드는 모든 것을 실행하면 작동이 예상대로 포지 포털은 데이터가 데이터베이스에 제대로 작성되었습니다 보여줍니다 나는 적절한 자바 스크립트 콘솔 메시지를 얻을 : 나는 행의 주석을 해제 할 때

"Set with ID: https://myfirebaseurl.com/flintstones/-JfjdUW4BT32DMgeuAdt" 

문제가 발생을

마자 내가 자바 스크립트 오류가 그러한 방법이 존재하지 않음을 나타내는 얻을처럼
var name = id.key(); 

는 : 나는 이것이 무슨 일이 일어나고 있는지 모른다 ("catch되지 않은 형식 오류. 정의되지는 함수가 아닙니다") 내가 필요 키 값 (이 경우 "-JfjdUW4BT32DMgeuAdt")을 다른 곳에서 사용하십시오.

어디에서 잘못 됐는지 알 수 있습니까?

+1

저의 작품 : http://jsbin.com/namoqa/1/edit?js,console. jsbin을 수정하여 깨질 수 있습니까? –

+0

매우 빠른 응답에 감사드립니다. 나는 코드를 복사하여 내 작업 영역에 붙여 넣었지만 여전히 실패했다 ... Rob DiMarco의 다른 대답을 보았다. 일단 메서드를 .name()으로 변경하면 완벽하게 작동했다! –

답변

3

표시되는 동작은 사용중인 클라이언트 라이브러리의 버전에 따라 다릅니다. Firebase Web/Node.js 클라이언트 라이브러리 < 2.0.0은 FirebaseRef.name()을 사용하지만이 필드의 이름은 v2.0.0 이상에서는 FirebaseRef.key()으로 변경되었습니다. 자세한 내용은 변경 로그 here을 확인하십시오.

+0

이것이 문제였습니다. 나중에 참조 할 수 있도록 변경 로그 링크 저장 –