Very simple way to do this:-
Sample data that I used is:-
{
"_id": "6419606109433f61b50dfaa4",
"category": "SUV",
"vehicles": [
{
"id": "18d527aa-948e-40bc-9ce1-c54dc04a6350"
"name": "Honda City 4th Generation",
"average": "23.26 kmpl",
"cc": "1197 cc",
"seat": "5 Seater",
},
{
"id": "18d527aa-948e-40bc-9ce1-c54dc04a6349"
"name": "Honda City 4th Generation",
"average": "23.26 kmpl",
"cc": "1197 cc",
"seat": "5 Seater",
},
}
exports.delete_vehicle = async (req, res, next) => {
const { id, vuuid } = req.params;
const vehicle = await VehicleCategory.find({ _id: id });
try{
for(let i = 0; i < vehicle[0].vehicles.length; i++){
if(vehicle[0].vehicles[i].id === vuuid){
await VehicleCategory.findByIdAndUpdate(
{_id:id},
{ $pull: { vehicles: { id: vuuid } } },
{ new: true }
);
res.status(200).json({
message: "Vehicle deleted successfully."
});
}else{
res.status(404).json({
message: "The given id is not found."
});
}
}
}catch (err) {
res.status(500).json({
error: err
});
}
};
router.put("/deleteVehicle/:id/:vuuid", userController.delete_vehicle);
路由器.放置("/删除车辆/:id/:vuuid", 用户控制器.删除车辆);