2016-05-27 10 views

risposta

66

La chiamata push() genererà una chiave per voi.

Se invece si utilizza child(), è possibile determinarne la chiave/percorso.

ref.child("Victor").setValue("setting custom key when pushing new data to firebase database"); 
+3

perché questo non è contrassegnato come risposta ... ?? –

+5

perché a Victor Davis non importa – user3734429

+1

Merita di essere contrassegnato ... –

1

È possibile creare una chiave personalizzata utilizzando setValue() anche se la radice contiene molti bambini per esempio se 'utenti' è la radice e si desidera aggiungere utenti con la posta elettronica come una chiave che sarà Ti piace questa

firebase.child("firebase url").child("Users").child("user_1 email").setValue(...) 

firebase.child("firebase url").child("Users").child("user_2 email").setValue(...) 

ecc

Spero che questo aiuti.

3
 String key="1234567sdfsf8"; 
     //custom object 
     User user=new User(); 
     DatabaseReference mDatabase; 
     mDatabase = FirebaseDatabase.getInstance().getReference(); 
     mDatabase.child("Users").child(key).setValue(user); 
+0

salvavita. Grazie mille – shinta

0

Se si utilizza FirebaseUI:

private static final CollectionReference usersCollection = FirebaseFirestore.getInstance().collection("users"); 

User user = new User("MyUsername", "MyPictureUrl"); 
String userKey = "1234567sdfsf8"; 

usersCollection.document(userKey).set(user); //MAGIC LINE 
0

Proprio per la condivisione della conoscenza.

se si utilizza fuoco nitida, è possibile creare la chiave personalizzata come segue

  IFirebaseConfig config = new FirebaseConfig 
      { 
       AuthSecret = "SecretKey", 
       BasePath = "https://abc.firebaseio.com/", 
       Host = "abc.firebaseio.com/" 
      }; 
      IFirebaseClient client = new FirebaseClient(config); 

      var obj = new Users 
      { 
       FirstName = "test", 
       MiddleName = "user", 
       LastName = "xyz" 

      }; 

      SetResponse response = client.SetAsync("Profile", "YourID");//you can use Set() as well 
      response = client.SetAsync("Profile/YourID", obj);//you can use Set() as well 
Problemi correlati