I'm having a problem in pushing these data to an nested object.
Here is what I put on postman as JSON format:
"productId":"621256596fc0c0ef66bc99ca",
"quantity":"10"
here is my code on my controller
module.exports.createOrder = async (data) => {
let product = data.productId;
let oQuantity = data.quantity
let totAmount = data.totalAmount
return User.findById(product).then(user =>{
user.userOrders.products.push({productId:product})
user.userOrders.products.push({quantity:oQuantity})
if (user) {
return user.save().then((savedOrder,err)=>{
if (savedOrder) {
return user
} else {
return 'Failed to create order. Please try again'
}
})
} else {
return "try again"
}
})
}
my schema is:
userOrders:[
{
products:[
{
productName:{
type: String,
required: [true, "UserId is required"]
},
quantity:{
type: Number,
required: [true, "Quantity is required"]
}
}
],
totalAmount:{
type: Number,
required: [true, "Quantity is required"]
},
PurchasedOn:{
type: Number,
default: new Date()
}
}
]
})
i got these error on my CLI
user.userOrders.products.push({productId:product})
^
TypeError: Cannot read properties of null (reading 'userOrders')
Currently i wish to just put these data from postman to the nested object but i think im not using the push use-case well. Any tips?