如何让用户创建多个输入并仍然将其存储在mongoose中

时间:2017-01-02 01:19:14

标签: node.js mongodb

我的问题标题可能令人困惑,但这就是我想要做的。基本上,我想允许用户创建过去的作品,但我知道人们可能已经有超过1个职业生涯。

我怎么能让他们点击“+”来添加更多的工作历史,然后仍然用mongoose将这些数据保存到Mongo中?

感谢任何帮助

注意:我不太擅长解释,如果您不明白我的意思,请立即通知我。

1 个答案:

答案 0 :(得分:0)

你可以使用Mongoose在mongodb中保存一个数组,它是有效的数据类型之一。因此,您可以在概念上创建工作模式,例如:

const WorkSchema = new Schema({ jobTitle: String, startDate: Date, endDate: Date, description: String});

然后您的用户架构可能会定义类似:

const UserSchema = new Schema({ lastName: String, firstName: String, work: [WorkSchema] }); 

然后,用户模型实例可以单独添加工作实例:

const user = new User();
user.work.push({jobTitle: 'manager', startDate: new Date()});

或集体:

const user = new User();
user.work = [... array of work instances... ];

至于部分填写的信息,这完全取决于您的验证逻辑。