我有一个Firebase数据库,用于存储用户数据,例如id,points,nickname。现在我创建了一个排行榜,我只需要一些(缺口,分数),现在我使用这样的东西:
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("users");
Query query = mDatabase.orderByChild("points");
//initialize Firebase adapter
ListAdapter adapter = new CustomFirebaseAdapter<User>(this, User.class, R.layout.list_item, query) {
@Override
protected void populateView(View v, User model, int position) {
//populate the ListView
然后我在模型上使用getter方法。 现在我担心代码的安全性,我认为每部手机都会下载每个用户内存储的所有数据。有没有办法只检索我需要的属性?
答案 0 :(得分:0)
在Understand Firebase Realtime Database Rule处查看Google Firebase documentation。
您可以在Firebase Database创建资源,并根据发出请求的给定用户ID限制读写权限。
{{1}}
答案 1 :(得分:0)
您必须为用户实例创建规则集。 例如,拒绝读取和写入 importantAtributte :
{
"rules": {
"users": {
"$importantAtributte": {
".read": false,
".write": false"
}
}
}
}
有关详细信息:https://firebase.google.com/docs/database/security/securing-data