2016-10-25 6 views
2

enter image description hereACESS 노드 중포 기지 및 검사 값

내가 노드 "상태"를 액세스하고 확인하고 싶은

: 경우는 false 데이터를 기록, 경우에 true를 돌려줍니다 오류 경고를. (reference_status_attendance.once ('값이', 스냅 =이 snap.val() == false)를>) 경우

var reference_value_of_counter = firebase.database().ref('contador/valor'); 

var reference_to_increment_counter = firebase.database().ref('contador/valor'); 

var reference_status_attendance = firebase.database().ref('agendamentos/primeiro-horario/status'); 

var reference_to_data_register = firebase.database().ref('agendamentos/primeiro-horario/'); 


if (reference_status_attendance.once('value', snap => snap.val() == false)) { 

    reference_value_of_counter.once('value', snap => reference_to_increment_counter.set(snap.val()+1)); 

    reference_to_data_register.update({nome : 'isaac', sobrenome : "menezes", status: true}); 

} 

else { 
    alert("sorry"); 
} 

답변

1

이 문장은 다음과 같습니다

나는 코드를 사용 올바르지 않습니다. once 함수는 콜백에서 반환 한 값을 반환하지 않습니다. 콜백 내에서 값에 액세스하고 if/else를 수행해야합니다. 나는 아래의 코드를 테스트하지는 않았지만 작동해야하거나 적어도 수행해야 할 작업에 대한 아이디어를 제공합니다.

reference_status_attendance.once('value', snap => { 
    if(snap.val() == false) { 

    reference_value_of_counter.once('value', snap => reference_to_increment_counter.set(snap.val()+1)); 

    reference_to_data_register.update({nome : 'isaac', sobrenome : "menezes", status: true}); 

    } 

    else { 
    alert("sorry"); 
    } 
}) 
+0

을 나타낼 수 있습니다 참조하십시오? 나는 당신의 팁을 좋아했으며 테스트를 마쳤습니다.하지만이 문제에 대해 더 깊이 생각하고 싶습니다. –

0

는 좀 더 제대로 중포 기지에서 데이터를 조작 할 수 있습니다에 공부 수있는 것을 나에게 Firebase Documentation

var reference_to_data_register = firebase.database().ref('agendamentos/primeiro-horario/'); 

reference_to_data_register.once('value') 
    .then(function(dataSnapshot) { 
    if(dataSnapshot.val().status){ 
     //do this if status is true 
    } else { 
     // do this is status is false 
    } 
    }); 
+0

DataSnapshot 클래스에 상태 속성이 없으므로'dataSnapshot.val(). status'를 확인해야한다고 생각합니다. –