从firebase中选择数据
问题描述:
我目前正在开发一个android应用程序,其中我使用firebse作为数据库。 我想选择一个特定的节点并设置它的密码,所以我该怎么做? 我使用此代码,但它将另一个密码属性添加到选定的节点。 这是数据库结构,我想设置用户toto的密码值。从firebase中选择数据
public void resetPassword(){
//setting connexion parameter
final Firebase ref = new Firebase("https://test.firebaseio.com/users");
Query query = ref.orderByChild("username").equalTo("toto");
Firebase statusRef =query.getRef().child("password");
statusRef.setValue("COMPLETED");
System.out.println("Hellooooo FBM ");
}
答
您query
还没有匹配查询的节点。要获得匹配的节点,您必须附加一个侦听器(如documentation on reading data所示)。
一个简单的例子:
public void resetPassword(){
//setting connexion parameter
final Firebase ref = new Firebase("https://test.firebaseio.com/users");
Query query = ref.orderByChild("username").equalTo("toto");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot user: snapshot.getChildren()) {
Firebase statusRef = user.child("password").getRef();
statusRef.setValue("COMPLETED");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "getUser:onCancelled", databaseError.toException());
}
});
}
+0
thx很多:)它的工作:) –
你可能不应该存储在用户节点中的口令,因为火力点有一个整体的功能来处理身份验证。 – adolfosrs