java – Firebase – 使用setValue(Object)时,不要将特定变量存储在数据库中;

我正在尝试最小化数据库中的数据量.我有一个名为user的类,如下所示:class User {private Position pos;private String uid;}现在我的数据库看起来像:`uid{pos{ L1=value,L2=value}uid=value}`非常小,实际上我甚...

我正在尝试最小化数据库中的数据量.

我有一个名为user的类,如下所示:

 class User {

private Position pos;
private String uid;}

现在我的数据库看起来像:

`uid{
    pos{ L1=value,
         L2=value
       }
   uid=value
}`

非常小,实际上我甚至不喜欢额外的uid,因为密钥是uid,它是唯一的标识符.

现在,我想在类中添加一个名为working的附加变量.

`class User{
private Position pos;
private String uid;
private boolean working;
}`

使用ref.setValue(User),数据库现在变为:

`uid{
    pos{ L1=value,
         L2=value
       }
   uid=value,
   working=value
}`

我不需要将工作变量存储在数据库中,这只是不必要的信息发送.我怎么不发送它,但保留在我的用户类?附加的String uid也是如此.我也希望从数据库中删除它,但保留在类中.

解决方法:

查看@Exclude和IgnoreExtraProperties.

https://firebase.google.com/docs/reference/android/com/google/firebase/database/Exclude

class User{
 private Position pos;
 private String uid;
 @Exclude
 private boolean working;
}

本文标题为:java – Firebase – 使用setValue(Object)时,不要将特定变量存储在数据库中;

基础教程推荐