Firebase多位置更新 - 设置具有空值的子项

时间:2017-08-04 19:54:06

标签: java firebase firebase-realtime-database

我正在尝试使用多位置更新来更改Realtime Database中的值,并让一个侦听器一次性跟踪所有更改。

这就是我试图做的事情:

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
Map data = new HashMap();

data.put("Users/"+senderEmail+"/friends_requests_sent/"+receiverEmail,"");
data.put("Users/"+receiverEmail+"/friends_requests_received/"+senderEmail,"");

mDatabase.updateChildren(data, new DatabaseReference.CompletionListener() {
    @Override
    public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {

        if (databaseError!=null)
            showConnectionErrorToast();


        else{
            Context context=getContext();
            Toast.makeText(context,
                    context.getString(R.string.friend_request_was_sent), Toast.LENGTH_SHORT).show();
        }


    }
});

孩子们被添加得很好(receiverEmail和senderEmail),但它强迫我把值放在其中,虽然我不想这样做。 我希望电子邮件成为这些孩子的关键,没有价值。

这可能吗? 如果不是,最好的选择是什么?

1 个答案:

答案 0 :(得分:0)

无法在Firebase数据库中存储没有值的密钥。如果您确实没有值存储,请考虑使用true"TBD"等标记值。