首页 > 解决方案 > 如何专门在firebase中获取用户数据

问题描述

我正在开发一个应用程序,每个用户必须先登录,然后他们才能添加一些对象。他们创建的每个对象都将保存在 firebase 上。但我想分开用户的对象!例如,如果用户 A 保存 X 和用户 B 保存 Y ,他们只能访问他们的对象(用户 A 必须只能访问 X),但我不知道为什么有人添加任何其他人可以访问它的东西!有什么想法吗?

标签: javaandroidfirebase

解决方案


为了达到您的标准,向您的对象节点添加一个名为 user(添加该对象的用户)的子属性,然后您可以在以这种方式请求数据时进行过滤:

DatabaseReference mDatabaseReference = FirebaseDatabase.getInstance().getReference("Object");
Query query =  mDatabaseReference.orderByChild("user").equalTo("the_user_name").addListenerForSingleValueEvent(new ValueEventListener() {

 @Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
   //here you get your object data

    }
 }
   @Override
public void onCancelled(DatabaseError databaseError) {

  }
 });

推荐阅读