在firebase android中附加数据

时间:2015-12-27 18:20:17

标签: android firebase firebase-realtime-database

我想在firebase中添加一些数据,但它会被替换。

我从:

开始
scorching-fire-2211  
  Latlng: "7.00003"
  REGISTER_NO: "13MSE0149"

现在我尝试添加新的REGISTER_NO

Firebase.setAndroidContext(this);
Firebase myFirebaseRef = new Firebase("https://scorching-fire-2211.firebaseio.com/");
myFirebaseRef.child("REGISTER_NO").setValue("13mse0254");

数据变为:

scorching-fire-2211  
  Latlng: "7.00003"
  REGISTER_NO: "13mse0254"

较旧的版本正在被替换,但我希望将其添加到该版本中。

1 个答案:

答案 0 :(得分:6)

您需要使用REGISTER_NO.push()创建一个列表。

Firebase myFirebaseRef = new Firebase("https://scorching-fire-2211.firebaseio.com/");
myFirebaseRef.child("REGISTER_NO").push().setValue("13mse0254");

这将维护一个列表,并以JSON格式显示:

{
   "REISTER_NO": {
      "-K6Zjr34pzqjvO9ffwrI": "13mse0254"
   }
}

奇怪的字符串是Firebase SDK创建的push-id。如果您需要自己的密钥,可以指定.child()密钥:

Firebase myFirebaseRef = new Firebase("https://scorching-fire-2211.firebaseio.com/");
myFirebaseRef.child("REGISTER_NO").child("13mse0254").setValue(true);

这将创建一个结构:

{
   "REGISTER_NO": {
      "13mse0254": true
   }
}

然后您可以通过转到/REGISTER_NO/13mse0254

的路径来检索它