Javascript 访问节点firebase并检查值
我想访问节点“status”并检查:if false写入数据,if true返回错误警报 我使用了代码: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
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
}
});