Проблема с продолжением Nodejs

#node.js #sequelize.js

Вопрос:

Поэтому я использую nodejs и секвенирую, и проблема в том, что при попытке получить значения из бд все отображается в виде строки.

   let merchant_data = await Products.findAll({where:{
                        product_category_id:pr_category_id,
                        global_delivery:is_global_delivery
                    },
                    include:[
                    
                    {model:Shops,
                        
                        where:{is_home_delivery:is_home_delivery,
                        },
                     
                ],
                
              
                  
                }).then(function (result) {
                        return result
                    }).catch(function (e) {
                        console.log(e)
                        return 0
                    })
 

Тело ответа, которое я получаю, выглядит следующим образом:

 {
"message": "done",
"data": [
    {
        "id": "9095",
        "user_id": "21",

        "product_name": "Test Product",
        "product_desc": "Testing",
        "product_category_id": "5",
        "product_sub_category_id": "32",
        "min_order_qty": "1",
        "business_margin": "5",
        "discount_percentage": "17",
        
        "product_cities": "",
        "color_size_variant": "",
       
        "shop": {
            "user_id": "21",
            "name": "Jyotish supermarket",
            "address1": "shop no. 7 ",
            "address2": "Near signature store",
            "is_home_delivery": true
        }
       
    }
]
 

}

Ожидаемый результат выглядит следующим образом

 {
"message": "done",
"data": [
    {
        "id": 9095,
        "user_id": 21,

        "product_name": "Test Product",
        "product_desc": "Testing",
        "product_category_id": 5,
        "product_sub_category_id": 32,
        "min_order_qty": 1,
        "business_margin": 5,
        "discount_percentage": 17,
        
        "product_cities": "",
        "color_size_variant": "",
       
        "shop": {
            "user_id": 21,
            "name": "Jyotish supermarket",
            "address1": "shop no. 7 ",
            "address2": "Near signature store",
            "is_home_delivery": true
        }
       
    }
]
 

}

Это модель продукта :

 const Products = sequelize.define('products', {
 

идентификатор: {
тип: типы данных.BIGINT,
автоИнкремент: верно,
основной ключ: верно
},

 user_id:{
    type: DataTypes.BIGINT,

},  product_images: {
    type: Sequelize.TEXT,
}, image_url: {
    type: Sequelize.TEXT,
},
product_name: {
    type: Sequelize.TEXT,
},

product_desc: {
    type: Sequelize.TEXT,
},

product_category_id: {
    type:Sequelize.TEXT
},
product_sub_category_id: {
    type:Sequelize.TEXT
},
min_order_qty: {
    type:Sequelize.TEXT
},
business_margin: {
    type:Sequelize.TEXT
},
discount_percentage: {
    type:Sequelize.TEXT
},
origin_from: {
    type:Sequelize.TEXT
},
stock: {
    type:Sequelize.TEXT
},
presence: {
    type:Sequelize.BOOLEAN,
    defaultValue: true
},
measurement_unit:{
    type:Sequelize.TEXT
},
 

},

Итак, дело в том ,что идентификатор должен быть в формате int, однако в моем ответе он отображается как строка. Это одинаково для всех целых значений.

Не знаю, почему все переходит в строковый формат

Комментарии:

1. Вам действительно нужно опубликовать соответствующий фрагмент кода, который загружает данные из БД и отправляет их на сервер. Только эти данные не помогут диагностировать проблему.

2. @YuryTarabanko привет,я только что отредактировал код, не могли бы вы проверить сейчас, пожалуйста

3. Не могли бы вы также предоставить определение Products модели.

4. Попробуйте использовать JSON.parse(результат) вместо голого результата.

5. @YuryTarabanko да, я попробовал JSON.parse (результат), и результатом был неожиданный токен o в JSON в позиции 1, а также я даже попробовал JSON.parse(JSON.stringify(результат)), но без изменений. Я добавил модель продукта ,не могли бы вы, пожалуйста, проверить это тоже,