2017-01-04 80 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' –