簡體   English   中英

序列化:將多維數組寫入數據庫

[英]Sequelize: Write multidimensional array to database

我有一個帶有可變長度的嵌套數組的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 obj存儲在表1中以后將無法很好地工作。

這是我為公司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; }; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM