在firebase android中附加数据

Ram*_*V S 2 android firebase firebase-realtime-database

我想在firebase中附加一些数据,但它会被替换掉.

我开始:

scorching-fire-2211  
  Latlng: "7.00003"
  REGISTER_NO: "13MSE0149"
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试添加新的REGISTER_NO时

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

数据变为:

scorching-fire-2211  
  Latlng: "7.00003"
  REGISTER_NO: "13mse0254"
Run Code Online (Sandbox Code Playgroud)

旧版本正在被替换,但我希望将其添加到其中.

Dav*_*ast 6

你需要创建一个列表REGISTER_NO,使用.push().

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

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

{
   "REISTER_NO": {
      "-K6Zjr34pzqjvO9ffwrI": "13mse0254"
   }
}
Run Code Online (Sandbox Code Playgroud)

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

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

这将创建一个结构:

{
   "REGISTER_NO": {
      "13mse0254": true
   }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以通过转到路径来检索它/REGISTER_NO/13mse0254.