我正在尝试使用多位置更新来更改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),但它强迫我把值放在其中,虽然我不想这样做。 我希望电子邮件成为这些孩子的关键,没有价值。
这可能吗? 如果不是,最好的选择是什么?
答案 0 :(得分:0)
无法在Firebase数据库中存储没有值的密钥。如果您确实没有值存储,请考虑使用true
或"TBD"
等标记值。