Add an item to a list in Firebase Database

前端 未结 4 2031
礼貌的吻别
礼貌的吻别 2021-01-01 16:14

I have the following Firebase database structure. uIds is a type of List. I am trying to add another uId under uIds with

4条回答
  •  别那么骄傲
    2021-01-01 16:55

    Adding 2 cents to Frank van Puffelen answer, you can use the key from push operation as a unique identifier of your request. Plus if you use hash map to update child then your DB will not be overridden

     // Create a node on Server and get key
      String requestID = AdminController.getInstance().referenceFromUrl
                            .child(END_POINT_REQUESTS)
                            .push().getKey();
    
      //use key as ID for your Object which you want to push as unique identifier of your model
      requestToPush.setRequestId(requestID );
    
     //Add updated Model Object in a Map to update DB instead of over writing
     requestsMap.put(requestID , requestToPush);
    
     //Update newly created DB nodes with data
       referenceFromUrl
                .child(END_POINT_REQUESTS)
                .updateChildren(productsMap,
                        new DatabaseReference.CompletionListener() {
                            @Override
                            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
    
                                if (databaseError != null) {
                                    Log.e(TAG, "Error: Data could not be saved "
                                            + databaseError.getMessage());
                                } else {
                                    Log.e(TAG, "Success : Data saved successfully.");
                                }
                            }
                        });
    

    Result

提交回复
热议问题