вот код,
Код: Выделить всё
const foodItemInserction = asyncHandler(async (req, res) => {
const foodId = req.params.id;
const { userId } = req.body;
const client = new MongoClient(`${process.env.MONGO_URI}/${DB_NAME}`);
await client.connect();
const database = client.db("alpha");
const collection = database.collection("foods");
const food = await collection.findOne({ _id: new ObjectId(foodId) });
if(!food) throw new ApiError(400,"wasn't able to found food!");
const updatedDiet = await Diet.findOneAndUpdate(
{ user: userId },
{
$push: {
foods: [
{
foodName: food.foodName,
calories: food.calories,
carbs: food.carbs,
fats: food.fats,
fiber: food.fiber,
sugar: food.sugar,
protein: food.protein,
servingSize: food.servingSize,
},
],
},
},
{
new: true,
}
);
if(!updatedDiet) throw new ApiError(500,"internal server error , wasn't able to update diet as per requirements")
return res
.status(200)
.json(
new ApiResponse(
200,
updatedDiet,
"diet chart been updated sucessfully"
)
)
});
Код: Выделить всё
router.route("/addFood/:id").post(verifyJWT,foodItemInserction)
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-an-array