2017-01-04 108 views
1

我正在嘗試爲我的網站添加一個用戶流程,以便當某個用戶創建一個帳戶時,記錄會保留其進度。數據必須用默認值進行初始化。在JavaScript的obj符號我想像是這樣的:流星收集架構

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配置文件夾? –

+0

'/ server/something.js' –