如何匹配文本框值,然后将特定数据更新到firebase web
我的数据库:如何匹配文本框值,然后将特定数据更新到firebase web,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我的数据库: var carplate=document.getElementById(“carplate”).value; var firebaseRef=firebase.database().ref('ClampedCar'); firebaseRef.orderByChild('carplate').equalTo(carplate).update({stat:“unclipped”}); 车牌号 只能对数据库引用调用update()。要获取与查询匹配的节点的引用,必须首先执行查询
var carplate=document.getElementById(“carplate”).value;
var firebaseRef=firebase.database().ref('ClampedCar');
firebaseRef.orderByChild('carplate').equalTo(carplate).update({stat:“unclipped”});
车牌号
只能对数据库引用调用update()
。要获取与查询匹配的节点的引用,必须首先执行查询
var query = firebaseRef.orderByChild('carplate').equalTo(carplate);
query.once('value', function(snapshot) {
snapshot.forEach(function(child) {
child.ref.update({stat:"Unclamped"});
})
});
由于查询可能匹配多个子项,因此需要使用snapshot.forEach()
循环<强>如果不是这样,即您的<代码> CARPATAOS/CODE >已经是唯一的,您可以考虑将您的数据模型更改为:
ClampedCar
carPlate1: "Clamped"
carPlate2: "Clamped"
使用此模型,您无需查询即可更改状态,只需执行以下操作:
firebaseRef.child(carplate).set("Unclamped")
我想对匹配进行验证。这样做有可能吗
var exist=query.once('value',函数(快照){
snapshot.forEach(函数(子函数){
child.ref.update({stat:“unclipped”});
})
});
如果(存在){
窗口警报(“状态更新”)
}否则{
车窗报警(“车牌不匹配”);
}
我可能会检查snapshot.exists()
或snapshot.haschilds()
,但除此之外。。。是的,应该有可能。我测试了这个声明。它仅在输入数据库中不存在的不同车牌时运行if条件