'How do i save a subdocument array to mondoDB

My model

const FormDataSchema = new mongoose.Schema({...})

// the Shipping schema
const ShippingSchema = new mongoose.Schema({
    itemstrackno : {
        type: String,
        minlength: [3, "Minimum characters for this field is 3"],
        maxlength: [100, "Maximum characters for this field is 100"],
        required: [true, "The Shipped item's tracking number is required"],
        trim: true,
        unique: true
    },
    formData: [FormDataSchema]
}, {timestamps: true})

const Shipping = mongoose.model("Shipping", ShippingSchema)
module.exports = Shipping

my controller

exports.postShipment = async (req, res, next) => {
const {itemstrackno, formdata} = req.body

try {
    const trackedItem = await Shipping.findOne({itemstrackno})

if(trackedItem){
    return next(new ErrorResponse("An Item with this track number exists", 400))
}

const shipment = await Shipping.create({itemstrackno, formdata})

res.status(200).json({
    success: true,
        data: shipment
    })
} catch (error) {
    next(error)
}
}

My postman request THE POSTMAN REQUEST

How do i structure the controller in a way that it saves the objects inside formData field



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source