2016-05-27 5 views
24

まあ、私はFirebaseを初めて使っています。新しいデータをデータベースにプッシュしながら独自のキーを作成したいと思います。新しいデータをfirebaseデータベースにプッシュする際にカスタムキーを設定する

問題:

FireBase.push().setValue(mapped_values); 

これについては、以下のような構造を与える:

 database output

は、どのように私はそこに自分自身のカスタムキーを作成することができますか? ユーザー名などです。

答えて

66

push()を呼び出すと、キーが生成されます。

代わりにchild()を使用する場合は、自分でキー/パスを決定できます。

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

を次のように

は、カスタムキーを作成することができます...? –

+5

ビクターデイビスが気にしないので – user3734429

+1

マークする価値がある... –

1

あなたはのsetValue()を「ユーザー」がルートの場合、ルートは、例えば、多くの子どもたち が含まれている場合でも使用してカスタムキーを作成することができますし、それがされるキーとして電子メールでユーザーを追加しますこの

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

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

などのように

は、この情報がお役に立てば幸いです。

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

命の恩人。どうもありがとうございました – shinta

0

あなたが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

だけで知識を共有するため。あなたは火の鋭い使用している場合、これは答えとしてマークされていない理由を

  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 
関連する問題