Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问节点firebase并检查值_Javascript_Arrays_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 访问节点firebase并检查值

Javascript 访问节点firebase并检查值,javascript,arrays,firebase,firebase-realtime-database,Javascript,Arrays,Firebase,Firebase Realtime Database,我想访问节点“status”并检查:if false写入数据,if true返回错误警报 我使用了代码: var reference_value_of_counter = firebase.database().ref('contador/valor'); var reference_to_increment_counter = firebase.database().ref('contador/valor'); var reference_status_attendance = fireb

我想访问节点“status”并检查:if false写入数据,if true返回错误警报

我使用了代码:

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");
}
if(参考_status_attention.once('value',snap=>snap.val()==false))

这句话不正确
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");
  }
})


我想你应该检查
dataSnapshot.val().status
,因为dataSnapshot类没有status属性。你能告诉我我可以学习什么,我可以更正确地操作firebase中的数据吗?我喜欢你的建议,我做了测试,效果很好,但我想更深入地了解这件事。
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
    }
  });