54 votes

Définition de la clé personnalisée lors de l'introduction de nouvelles données dans la base de données firebase

Eh bien, je suis nouveau sur Firebase et je veux avoir mes propres clés tout en transmettant de nouvelles données à la base de données.

Problème:

 FireBase.push().setValue(mapped_values);
 

Cela donne la structure comme ci-dessous:

sortie de la base de données

Comment puis-je créer ma propre clé personnalisée ici? Tels que le nom d'utilisateur ou quelque chose.

145voto

Frank van Puffelen Points 16029

L'appel de push() générera une clé pour vous.

Si vous utilisez plutôt child() , vous pouvez déterminer vous-même la clé / chemin.

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

8voto

iqbal lone Points 189
        String key="1234567sdfsf8";
        //custom object
        User user=new User();
        DatabaseReference mDatabase;
        mDatabase = FirebaseDatabase.getInstance().getReference();
        mDatabase.child("Users").child(key).setValue(user);

4voto

W2hkZ Points 26

Vous pouvez créer une clé personnalisée à l'aide de setValue () même si la racine contient de nombreux enfants, par exemple si "Utilisateurs" est la racine et que vous souhaitez ajouter des utilisateurs avec un email en tant que clé, ce sera comme ceci

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

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

etc

J'espère que cela t'aides.

1voto

Phil Points 1665

Si vous utilisez 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
 

0voto

Talha Points 7596

Juste pour partager les connaissances.

Si vous utilisez Fire-Sharp, vous pouvez créer la clé personnalisée comme suit:

             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
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X