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

Jet*_*pki 4 java json firebase

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

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

 class User {

private Position pos;
private String uid;}
Run Code Online (Sandbox Code Playgroud)

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

`uid{
    pos{ L1=value,
         L2=value
       }
   uid=value
}`
Run Code Online (Sandbox Code Playgroud)

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

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

`class User{
private Position pos;
private String uid;
private boolean working;
}`
Run Code Online (Sandbox Code Playgroud)

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

`uid{
    pos{ L1=value,
         L2=value
       }
   uid=value,
   working=value
}`
Run Code Online (Sandbox Code Playgroud)

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

Vee*_*ath 5

看看@ExcludeIgnoreExtraProperties.

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

class User{
 private Position pos;
 private String uid;
 @Exclude
 private boolean working;
}
Run Code Online (Sandbox Code Playgroud)