首页 > 解决方案 > 将数据发布到子文档 - Mongoose Express

问题描述

谷歌搜索后!...

使用 Mongoose/Express 保存数据我有问题: 无法将数据发布到子文档或嵌套文档

这是我的猫鼬模型:

const Users = new Schema({
    firstname : {
        type : String
    },
    password : {type : String},
    phone : {type : Number},
    city : {type : String},
    country : {type : String},
    experience : [
        {
            title : {type : String},
            company : {type : String},
            description : {type : String},
            date_bg : {type : Date},
            date_end : {type : Date},
        }
    ],
    education : [
        {
            degree : {type : String},
            school : {type : String},
            description : {type : String},
            date_bg : {type : Date},
            date_end : {type : Date},
        }
    ],
// ...
})

这是邮政路由器:

const addUser = async (req, res) => {

//    my data from fronted is like this :
 
// req.body.experience is like this (same as education): 
// [{title: "title experince 1", company: "title experince", date_bg: "2021-02-11", date_end: "2021-02-02", description: "title experince"}
{title: "title experince 2", company: "title experince 2", date_bg: "2021-02-10", date_end: "2021-02-08", description: "tstset"}]
    const user = new Users(req.body) // This cause cast error for the *experience* and *education*
    try {
        await user.save()
        return res.status(200).json({message : "Signin up successfully, Your account is now active!"})
    } catch (error) {
        return res.json({error : "Something went wrong, please try again later!", message : error})
    }
}

我的问题是:

如何将我的数据发布到子文档?(我的问题在于经验和教育模式)

标签: node.jsexpressmongoose

解决方案


在 request 的 req.body.experience 中,1在第二次体验之前有一个,所以改变 body 的格式是这样的:

[
  {
    title: "title experince 1",
    company: "title experince",
    date_bg: "2021-02-11",
    date_end: "2021-02-02",
    description: "title experince"
  },
  {
    title: "title experince 2",
    company: "title experince 2",
    date_bg: "2021-02-10",
    date_end: "2021-02-08",
    description: "tstset"
  }
]

推荐阅读