所以我对mean-stack相当陌生,我使用mean.js作为框架。
使用Yeoman,我创建了一个新的CRUD模块,名为groups。在一个组中,我希望能够有一个所有者,谁使组的用户,和成员的集合。根据mongoose文档,我给GroupSchema提供了以下结构:
var GroupSchema = new Schema({
name: {
type: String,
default: '',
required: 'Please fill Group name',
trim: true
},
created: {
type: Date,
default: Date.now
},
user: {
type: Schema.ObjectId,
ref: 'User'
},
members: [{type: Schema.ObjectId, ref: 'Member'}]
});
现在,当创建组时,唯一的成员将是所有者。我有以下的应用程序结构:
Project:
- app (server side code)
- controllers
- models
- routes
- public (client side code)
- modules
- groups
-controllers
将当前用户添加到某个组的方法放在哪里?我最好的猜测是,控制器应该照顾,但它是服务器或客户端控制器?
我不会在客户端设置它,也不会信任客户端。您的服务器端创建函数应该完全忽略members
,只将当前用户推入成员数组。