2017-01-23 2 views
-1

私は報告機能の従業員構造を作成したいと思います。プッシュ機能によってEIDとして生成された内部キーを使用しています。だから、例えば。管理者は、EIDを持っている場合:-KbAGV6Uhg0BKK31HduNと報告エンジニアはEIDがあります-Kb9ioY8dkBEOO46uX7t JSON構造はUIDを持たずにファイアベースにデータをプッシュする方法はありますか

{ 
    "-KbAGV6Uhg0BKK31HduN " : { 
     "reportingID" : "-Kb9ioY8dkBEOO46uX7t" 
    } 
    } 

のようになりますが、私はプッシュ機能を使用していますので、それは次のようになります。

{ 
    "-KbAGV6Uhg0BKK31HduN" : { 

    "-KbAH1RiVsz5FpSFudD2" : { 
     "reportingID" : "-Kb9ioY8dkBEOO46uX7t" 
    } 
    } 
} 

私はこの余分なキー、他のE1またはキーとしてその場所に他の何らかの簡単な識別子のようなものを、それを避けるためか、持って行うことができることがある

+0

@Frank van Puffelenご覧ください。 – joel

+0

私にpingする必要はありません。私は助ける時間があるかしないか、pingは違いを生み出さない。 –

+0

@Frank van Puffelenはい、そうですが、あなたは質問のほとんどに正しく答えているので、私はあなたもfirebaseのドキュメントは非常にinsufficeintですpingしています – joel

答えて

0

あまりにも複雑な構造を作っているもの(-KbAH1RiVsz5FpSFudD2)を必要としませんベストプラクティスではないが、あなたはn Firebaseによって生成されたuidではなく、各エントリにグローバルな一意のIDを生成します。 ここでid生成器の1つを見てください:https://gist.github.com/mikelehen/3596a30bd69384624c11

1

あなたが説明したことは、プッシュを使用したい場合は、Firebaseの処理方法です。代わりに押しの

は、あなたがこのような何かをするには、setメソッドを使用することができます。

マネージャーID/directReports/EngineerID EngineerIDは、エンジニアや一部のキーについてのいくつかの追加情報含まれている可能性があり

:値のペアをそのアプリに持っていると便利です

JSON構造は次のようになります。

"ManagerGUID":{ 
    "directReports": { 
     "EngineerGUID":{ 
      "someinfokey":"somevalue" 
     } 
    } 
} 

その方法をあなたがリストまたは反復可能にしたい場合は、あなただけのマネージャーID/directReportsノードをダウンロードして、エンジニアのためのオリジナルのキーを使用して個々のオブジェクトを持つことができます。配列に変換する際に余分な作業が必要になるかもしれませんが、これはあなたがやりたいことのようなものです。もし私が拠点を外れていると私の答えを更新できるかどうかを教えてください。

+0

私もあなたが言っていることを得ることができませんでした私はJson構造が必要です – joel

+0

@ joel J_Everhartは正しいです。 pushの代わりにset関数を使うだけです。 必要なものはすべてFirebaseのドキュメントにあります。 https://firebase.google.com/docs/database/ios/read-and-write – ZassX

+0

@joel JSON構造を含めるように答えを更新しました。私の答えを明確にするのに役立つことを願っています。 –

関連する問題