如何在一个文档Node.js中保存多个req.body.name

时间:2016-08-09 05:14:58

标签: javascript arrays node.js mongodb

我在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中。

1 个答案:

答案 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} 
 }
相关问题