2017-01-04 9 views
1

私のウェブサイトにユーザフローを追加しようとしているため、ユーザがアカウントを作成したときにレコードが進行してしまうようにします。データはデフォルト値で初期化する必要があります。 JavaScriptのOBJの表記では、私はこのようにそれを絵になります。Meteor Collectionスキーマ

buyingandselling: { 
     components: { 
      video: { 
       complete: false 
      }, 
      exam: { 
       complete: false 
      }, 
      finish: { 
       complete: false 
      } 
     }, 
     complete: false, 
     next: "overheads" 
    }, 
    overheads: { 
     components: { 
      video: { 
       complete: false 
      }, 
      exam: { 
       complete: false 
      }, 
      exam2: { 
       complete: false 
      }, 
      finish: { 
       complete: false 
      } 
     }, 
     complete: false, 
     next: "overheads" 
    } 

を私はスキーマにそれを翻訳することができます方法を理解することは非常に困難見つけています。これは、大規模なスキーマに比べると小さな部分に過ぎません。

答えて

0

Accounts.onCreateUser()を使用すると、作成時に自動的にこの構造をユーザー文書に追加できます。その後、進捗状況を更新することができます。 (各項目が唯一の完全であってもなくてもよいので)それはネストの一つの冗長レベルを持っているよう

Accounts.onCreateUser((options, user) => { 
    user.progress = { 
    { buyingandselling: { 
     components: { 
     video: { 
      complete: false 
     }, 
     exam: { 
      complete: false 
     }, 
     finish: { 
      complete: false 
     } 
     }, 
     complete: false, 
     next: "overheads" 
    }, 
    overheads: { 
     components: { 
     video: { 
      complete: false 
     }, 
     exam: { 
      complete: false 
     }, 
     exam2: { 
      complete: false 
     }, 
     finish: { 
      complete: false 
     } 
     }, 
     complete: false, 
     next: "overheads" 
    } 
    }; 
    return user; 
}); 

あなたの構造が見えますが、それは、モデリングスタイルの好みです。

+0

ミッシェルは完璧に見えます。感謝万円。私のlib configフォルダに、このスクリプトをロードするのに最適な場所はどこですか? –

+0

'/ server/something.js' –

関連する問題