2017-08-04 70 views
0

我尝试使用多位置更新来更改Realtime Database中的值,并让一位听众一次性执行所有更改。Firebase多位置更新 - 设置空值儿童

这就是我试图做:

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

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