2017-09-28 5 views
0

に複数のチャイルズの追加:のXcodeにObjC Firebaseデータベースは、私は私のデータベースは、次のようになりますように、私のfirebaseデータベースに子と子ノードを追加しようとしているノード

{  
    "users": { 
     "user.uid": { 
      "userEmail":"[email protected]", 
      "project1": { 
       "projectName":"1700 Broadway" 
      } 
     } 
    } 
} 

次のように私のコードが表示されます。

{  
    "users": { 
     "user.uid": { 
      "userEmail":"[email protected]", 
     } 
    } 
} 

た:次のようにしかし、firebaseの私のデータベースが出ている

//create a root ref 
rootRef = [[FIRDatabase database] reference]; 

//create a child of the rootRef 
FIRDatabaseReference *usersRef = [rootRef child:@"users"];    

//Create a child under the users ref 
FIRDatabaseReference *newUserRef = [usersRef child:user.uid]; 

//set a value of the dictionary for which UID is the key 
[newUserRef setValue:@{@"userEmail":emailString}]; 

//For some reason this reference isn't being created in FB 
//Create a child under the users ref 
FIRDatabaseReference *projectRef = [usersRef child:@"project1"]; 

//set a value of the dictionary for which project1 is the key 
[projectRef setValue:@{@"projectName":projectName}]; 

mastertracker-9cf47addclose 
    users 
     L0gEKh4f0WctbioRddiziRpfwgC3 
      userEmail: "[email protected]" 

は、誰もが「Project1の」子供は、ユーザIDノードの下に参照取得されていない理由を説明するのに役立つことができ、このようになり、データを作る必要があります:コンソールに次のようになりますか?

mastertracker-9cf47addclose 
    users 
     L0gEKh4f0WctbioRddiziRpfwgC3 
      userEmail: "[email protected]" 
      project1 
       projectName: "test project" 

おかげで、

+0

'FIRDatabaseReference * projectRef = [newUserRef子を使用してみてください使用する必要があります。Project1の" @を";];' FIRDatabaseReference * projectRef = [usersRef子:@ "project1"]の代わりに ' – 3stud1ant3

+0

^^完璧、ありがとう@ 3stud1ant3 – hockd

+0

素晴らしい、私はtを追加しました彼は答える、あなたの問題を解決する場合はそれを受け入れてください – 3stud1ant3

答えて

0

あなたはuserEmailに兄弟としてproject1を追加したいので、あなたが

FIRDatabaseReference *projectRef = [newUserRef child:@"project1"]; 

代わりの

FIRDatabaseReference *projectRef = [usersRef child:@"project1"]; 
0

あなたはnewUserRefを初期化し、それを作成するときにキーを指定していません。 Objectiveではコードを入力できません。私はSwift 3を使用しますが、キーを指定する方法が見つかるはずです。それ以外の場合は、自動計算されたキーで位置が生成されます。

child("key").set(value). 
関連する問題