Home > OS >  I am stuck at "The Shipped item's tracking number is required"
I am stuck at "The Shipped item's tracking number is required"

Time:03-19

I have a 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 post controller

// post a shipment
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)
}

}

when i send a post request with postman i get "The Shipped item's tracking number is required" Error. What am i doing wrong?

THE POSTMAN IMAGE

CodePudding user response:

Seems like you have a typo in the request. You have marked itemstrackno as required but you are sending itemtrackno

  • Related