mysql - Sequelize : Write multidimensional array to database

标签 mysql json node.js sequelize.js

我有一个 JSON 文件,其中包含不同长度的嵌套数组。也就是说,每个对象都有一个包含不同数量对象的 ARR。

   {    "count": 200,
        "objects": [
            {
                "id": "FIRST",
                "b": "two",
                "c": "three",
                "ARR": [{
                    "aa": "onion ",
                    "bb": 2,
                    "cc": "peanuts"},
                    },
                    {
                    "aa": "Jam ",
                    "bb": 4,
                    "cc": "Bread"},
                    }],
                 "d":"four"
                ]
            }, . . . on and on

我已将 JSON 数据导入到我的 JavaScript 文件中:

 const data = JSON.parse(require('fs').readFileSync('./jsonfiles/objects.JSON', 'utf8'))

将数据修剪为感兴趣的对象

const objs=data.objects;

我正在使用 Sequelize 将其写入 mysql 数据库。我有两个模型:模型 1:hasMany Arr 集:模型 2:belongsTo Model1。

从 Model1 写入 table1 效果很好,如下所示:

for (var key in Objs) {
var item = Objs[key]
db.Model1.create({
    modelID: item.id,
    modelB: item.b,
    modelC:item.c
 })
}

现在,我正在尝试将 ARR 写入关联的模型,但对如何执行此操作感到困惑。

  • 我不知道每个 ARR 中有多少个对象
  • 将 ARR 作为 JSON 对象存储在 table1 中以后将无法正常使用。

最佳答案

这是我为我们公司 API 创建的函数。我花了一周的时间来整理,但希望这会有所帮助。

exports.functionName = async (req, res) => {

    const params = req.params.something;

    
    if (!params) {
        res.status(httpStatusCodes.BAD_REQUEST).send({message:'Please provide params'});
        return;
    }

    const function =  inputs.map(prop => ({
        propOne: uniqueID,
        propTwo: prop.value,
    }));

    const value = await productInput.bulkCreate(function);

    if (!value || value.length < 1) {
        res.status(httpStatusCodes.INTERNAL_SERVER_ERROR).send({ message:'No inputs were updated for this product.' });
        return;
    }

    res.send(value);
    return;
};

关于mysql - Sequelize : Write multidimensional array to database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51497885/

相关文章:

php - 查询生成器 - 结合 orderBy 和 groupBy

javascript - Express.js 服务器端渲染 - 请求 '/json/version/

javascript - discord.js-commando TypeError : this. fetchUser 不是函数

node.js - Req.session undefined with express 4 and Redis store, express-session

javascript - 为什么在重新分配错误之前在新 block 中使用 let 变量?

PHP - mysql_query 返回 0 行

javascript - 如何使用javascript将数据存储到mysql数据库中?

mysql - 如何为 MYSQL 中的列添加唯一键?

mysql - 如何从 MySQL JSON 数组中选择行?

javascript - post 请求在 Spring Boot 和 AngularJS 之间出现错误的请求错误