【发布时间】:2016-12-02 17:36:44
【问题描述】:
在以 web 和 android 作为客户端的 Firebase 应用程序中拥有 Firebase 实时数据库。使用push() 方法将值插入数据库,该方法生成随机键,并且所有子键值对由Web 客户端存储在子项中。现在,我想通过 android 更新特定子项的一些键值对。例如
KHSIHJKJBNJXKCB -
name="xyz"
age=19
JHGISFUSHFIJDSF -
name="abc"
age=20
如何更新特定键的“年龄”属性,不使用键 KJHUJHDFIUSH 等,就像将年龄更新为 25,其中名称为“abc”。
更新
其中“学生 0”被 Firabase 生成的一些随机值替换。所以我想将值“isCertificateReady”更改为 false。如何在不知道节点密钥的情况下引用特定节点。在本例中,我们可以使用联系电话作为唯一 ID。
我用来解决问题或得到答案的代码
coachingDatabaseReference.orderByChild("contactNumber")
.equalTo(contactNumber)
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String key = dataSnapshot.getKey();
coachingDatabaseReference.child(key)
.child("isCertificateReady")
.setValue(false);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【问题讨论】:
标签: java android firebase firebase-realtime-database