1

Metoer アプリでは、mongodb コレクションにプロジェクトを説明するドキュメントが含まれています。それらは、人員や肩書き、その他の事実に関して大きく異なります。

ユーザーがサイドバー リストからプロジェクトを選択すると、ドキュメント内のすべての情報をリアクティブ テンプレートにレンダリングしたいと考えています。

サイドバー リストは次のようになります。

  • ブルックリンブリッジ
  • フーバー ダム アイフェル
  • タワー

Hoover Dam の mongo ドキュメントは次のようになります。

{
"_id": "dksld888-aaaa-12345",
"name" : "Hoover Dam",
"year_built" : 1931,
... other facts... 
"architects" : 
    [
        {
          "person_id" : "1a2d528c-6509-4c3a",
          "title" : "Lead Designer"
        },
        {
           "person_id" : "4a3d-81e0-5a3f-2343",
            "title" : "Assistant"
        }
    ]
... other job descriptions... 
}

person_id フィールドには、その人物に関するより詳細な情報を含む別のコレクションのエントリの ObjectID が含まれています。

このシステムは、ユーザーがプロジェクト名からプロジェクトの詳細、個人の詳細にドリルダウンできるようにする (またはプロジェクトの詳細テンプレートでデータの編集を有効にする) ことを目的としています。

プロジェクトの詳細ドキュメントをリアクティブ テンプレート (ドキュメントをループしてドリルダウンするための再帰的なもの) にレンダリングする方法に困惑しています。プロジェクト コレクションの構造が間違っていた場合は、喜んで変更します。

どんなアイデアでも大歓迎です。

4

1 に答える 1

1

まず、プロジェクトをレンダリングするテンプレートを作成します。次に、サイドバーにイベント リスナーを設定して、ユーザーがアイテムをクリックしたときに、現在のプロジェクト ID を含むセッション値が設定されるようにします。プロジェクト テンプレートで Session 値をリッスンして、対応するプロジェクトを描画します。

プロジェクト テンプレート内で、{{#each person}} を使用して人のリストを作成し、テンプレートにプロジェクト内の人を描画させます。おそらく、与えられた person_id で人物を取得する便利なメソッドを作成する必要があります。

回答にコードを追加しますが、ここでやるべきことがたくさんあるので、わからない場合は、何が詰まっているのかを指定してください。

于 2012-12-26T21:53:33.367 に答える