2015-10-20 2 views
0

Моя цель - написать Fields из объекта JSON ниже в базу данных MySQL.Как получить объект json с несколькими строками

var dataRow = { 
    Table: "promosbudget", 
    Fields:[{ 
     ManagerID: "Jose", 
     UserID: "ife", 
     Budget: "50000", 
     Year: "2015" 
    }, 
    { 
     ManagerID: "Jose", 
     UserID: "fgs", 
     Budget: "50000", 
     Year: "2015" 
    }, 
    { 
     ManagerID : "Jose", 
     UserID : "brz", 
     Budget : "50000", 
     Year : "2015" 
    }] 
}; 

Я использую эту команду, чтобы получать и записывать данные:

app.post('/paramsjson', jsonParser, function(req, res) { 
    conMySQL.query('INSERT INTO ' + req.body.Table + ' SET ?',req.body.Fields,    
       function(err,result) { 
      console.log(result); 
     } 
    ); 
}); 

Вопрос заключается в том, что я могу только написать первый JSON строку, остальные 2 строки опущены.

Я хотел бы спросить, есть ли рекомендуемый метод для этого, когда мне нужно экспортировать большой объект JSON (100 000 строк), необходимо ли создавать цикл и читать каждую строку последовательно?

Заранее благодарим за вашу помощь!

+0

Вы уязвимы для [SQL инъекций атаки] (http://bobby-tables.com), и нужно петли на структуру данных JSON и вставить каждый из этих «полях» под-объектов индивидуально. –

ответ

1

Попробуйте шаг за шагом. Не вставляйте INSERT прямо в базу данных, сначала console.log выходы, посмотрите результаты, попробуйте INSERT непосредственно из кода. Затем попробуйте объединить все это.

В любом случае - я настоятельно рекомендую использовать knex для любой операции с БД.

Возьмите это примеры кодов для тестирования:

+0

Большое спасибо за ваши комментарии. Это очень интересно, что копья, я посмотрю на это. – IvanF

Смежные вопросы