JavaScript - Расширение Chrome -> TypeError: не удается прочитать свойство "длина" неопределенного значения.
Я пытаюсь отправить информацию о продукте в базу данных. Я новичок и не понимаю, в чем проблема. Пожалуйста, помогите мне в этом
Сообщение об ошибке;
POST /product 500 17.947 ms - 2285
TypeError: Cannot read property 'length' of undefined
at exports.saveProducts (C:\Users\Yakup\Desktop\Akinbaba Extension\Server\controllers\product.js:7:40)
Маршруты (product.js);
const express = require('express');
const router = express.Router();
// controllers
const { saveProducts } = require('../controllers/product');
router.post('/', saveProducts);
module.exports = router;
Модель (Product.js);
const mongoose = require('mongoose');
const { ObjectId } = mongoose.Schema;
const productSchema = new mongoose.Schema(
{
image: String,
title: String,
description: String,
price: Number,
stock: String,
shipping_cost: String
});
module.exports = mongoose.model('Product', productSchema);
Контроллер (product.js); (Страница ошибки)
const Product = require('../model/Product');
exports.saveProducts = (req, res) => {
const { productDetails } = req.body;
for (let y = 0; y < productDetails.length; y++) {
let newProduct = new Product();
let newKeys = productDetails[y];
Object.assign(newProduct, newKeys);
newProduct.image = newProduct.product_img;
newProduct.title = newProduct.product_title;
newProduct.description = newProduct.product_description;
newProduct.price = newProduct.product_price;
newProduct.stock = newProduct.product_stock;
newProduct.shipping_cost = newProduct.product_shipping_cost;
newProduct.save((err, result) => {
if (err) {
console.log('this is the error from the newProduct.save call:', err);
return res.status(400).json({
error: `Something went wrong when trying to save the product titled ${newProduct.title}`
});
} else {
console.log('product saved successfully');
}
});
};
}
Контент JS (Amazon.js) https://hastebin.com/ayeritetic.js
Фон JS (background.js) https://hastebin.com/cimeyogamu.js