我的数据库中有8500个用户在firebase中。 我试图收到所有用户的电子邮件 但我得到了所有的数据,这需要太多时间 有没有办法只获得这些数据? 我的模特是
{
users:{
userId:{
name: true,
adress:{
street: someStreet,
city: someCity
},
email:someEmail
}
}
}
答案 0 :(得分:2)
要收到电子邮件,请尝试以下操作:
# Declare as readonly
readonly variable="somevalue"
由于您需要所有用户的电子邮件,因此您需要在DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("users");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String email=datas.child("email").getValue().toString();
}
}
@Override
public void onCancelled(DatabaseError error) {
}
});
内循环以获取这些电子邮件。
通常用户节点是这样的:
userId
因此,要获取所有用户的电子邮件,您可以在用户ID中循环以获取它们。如果您没有使用Users
userid
email: emailhere
name: namehere
key: value
并使用userid
生成的随机ID,则您还必须循环以获取所有电子邮件。
另一种方法是创建一个仅包含用户电子邮件的push()
节点:
email