我有一个firebase数据库,其结构如下: databse structure
pages节点是一个数组列表,如[0,1,2,3 ...]。现在我想获得对每个页面节点子“data”的引用,然后是子节点“meetingRooms”,然后在“meetingRooms”节点中添加一个新的子节点,该节点将再次成为“pages”节点的列表。 / p>
这是我到目前为止尝试过的代码 //供参考数据库
mMeetingRoomsDatabaseReference = FirebaseDatabase.getInstance().getReference("/pages").child("/data");
然后将数据添加到Firebase:
public void updateBookings(){
String startTime = "9:00 am";
String endTime = "11:00 am";
Map<String,Object> values = new HashMap<>();
values.put("startTime" , startTime);
values.put("endTime" , endTime);
values.put("bookingRoomId" , meetingRoomId);
values.put("date" , resultDate);
values.put("userUid" , userGoogleId);
DatabaseReference ref = mMeetingRoomsDatabaseReference.child("/meetingRooms").child("bookings");
ref.push().updateChildren(values);
}
然后单击按钮调用此方法。 这是在firebase中的“pages”节点添加一个全新的节点,如下所示: after adding the data the firebase structure is this.
任何人都可以帮助我解决我在这里做错了什么吗?非常感谢帮助。
答案 0 :(得分:1)
This is happening because you are missing a child. You actual DatabaseReference
is:
mMeetingRoomsDatabaseReference = FirebaseDatabase.getInstance().getReference("/pages").child("/data");
and you need to change it like this:
mMeetingRoomsDatabaseReference = FirebaseDatabase.getInstance().getReference()
.child("pages")
.child("0") //This child was missing
.child("data");
The is an example for a particular one named -> "0". You can change this with an actual variable.
Hope it helps.