我在mongodb中插入一个表单。数据成功存储在集合中。但我有一个用户公司的详细信息如下:
company:
[{companyname:req.body.companyname,
industry:req.body.industry,
jobtitle:req.body.jobtitle,
startdate:req.body.prevstartdate,
enddate:req.body.prevenddate,
roles:req.body.roles}]
此文档的架构是:
company: [{
companyname:String,
industry:String,
jobtitle:String,
startdate:Date,
enddate:Date,
roles:String,}]
在客户端视图中,用户可以将公司表单追加到5次。所以我想知道如何将附加的表格值存储在数组中并保存在mongodb中。
答案 0 :(得分:0)
您的Schema
每个字段只允许一个String
。
您需要将其更改为array of Strings
。
company: [{
companyname: [String],
industry:[String],
jobtitle:[String],
startdate:[Date],
enddate:[Date],
roles:[String]}]
而不是每次都插入到集合中,只有当不存在具有该公司名称的文档时才尝试插入它,如果它已经存在,请尝试更新该文档。在更新时按下每个字段。
请参阅here,了解如何推送文档。
简而言之,我可以向您展示如何使用$push
:
{ $push: {companyname:req.body.companyname,
industry:req.body.industry,
jobtitle:req.body.jobtitle,
startdate:req.body.prevstartdate,
enddate:req.body.prevenddate,
roles:req.body.roles}
}