私がここで達成しようとしているのは、このJSONを私のデータベースに挿入することです。私のデータベースはSQL Serverを使用しています。私はバルクjsonデータを持っています、それはjsonツリーとして詳細を含んでいます。node.jsに一括JSONデータを挿入するにはどうすればよいですか?
exports.insert_BPS = function(req, resp) {
console.log(req.body);
req.body.map(headerdata=>
{
var sql = `INSERT INTO TblBPSHeader (
No_BPS, Kd_Plg, Tgl_BPS, Entry_Time, User_Name, Status, Kd_Teknisi) values
('` + headerdata.No_BPS + `',
'` + headerdata.Kd_Plg + `',
'` + dateFormat(headerdata.Tgl_BPS, "yyyy-mm-dd' 'HH:MM:ss") + `',
'` + dateFormat(headerdata.Entry_Time, "yyyy-mm-dd' 'HH:MM:ss") + `',
'` + headerdata.User_Name + `',
'` + headerdata.Status + `',
'` + headerdata.Kd_Teknisi + `')`
db.executeSql(sql, function(data, err) {
if (err) {
httpMsgs.show500(req, resp, err);
} else {
// httpMsgs.send200(req, resp);
console.log('header inserted');
};
});
Promise.all(headerdata.detailsData.map
(detaildata =>
{
console.log(detaildata);
var sqldetail = `INSERT INTO TblBPSDetail (
No_BPS, kd_Brg, Qty, Alasan, Keterangan) values
('` + detaildata.No_BPS + `',
'` + detaildata.Kd_Brg + `',
'` + detaildata.Qty + `',
'` + detaildata.Alasan + `',
'` + detaildata.Keterangan + `')`
db.executeSql(sqldetail, function(data, err) {
if (err) {
httpMsgs.show500(req, resp, err);
} else {
// httpMsgs.send200(req, resp);
console.log('detail inserted');
};
});
}
)
)
}
)
};
が、データが挿入されているが、それは複製だ判明、それは常にループのデータと、後:JSONデータである下記、私は
[
{
No_BPS:'BSWEB12345',
Kd_Plg:'MMIM026',
Nm_Plg:'YAOMING',
Tgl_BPS:'2017-02-27T08:39:38.971Z',
Entry_Time:'2017-02-27T08:39:38.971Z',
User_Name:'tes',
Status:'Y',
Kd_Teknisi:'tes',
No_Ref:'RIRIMIMI609-001',
detailsData:[
{
No_BPS:'BSWEB12345',
Kd_Brg:'RH-C779-SB',
Qty:2,
Alasan:'undefined',
Keterangan:'undefined'
}
]
},
{
No_BPS:'BSWEB99999',
Kd_Plg:'PTPS053',
Nm_Plg:'WARLORD',
Tgl_BPS:'2017-02-27T08:40:04.082Z',
Entry_Time:'2017-02-27T08:40:04.082Z',
User_Name:'tes',
Status:'Y',
Kd_Teknisi:'tes',
No_Ref:'PTKP1210-001',
detailsData:[
{
No_BPS:'BSWEB99999',
Kd_Brg:'PS-230BIT SNI',
Qty:1,
Alasan:'undefined',
Keterangan:'undefined'
},
{
No_BPS:'BSWEB99999',
Kd_Brg:'PS-130BIT SNI',
Qty:1,
Alasan:'undefined',
Keterangan:'undefined'
}
]
}
]
を挿入し、ここに私のnodejsコードであるにしたいです最初にデータを挿入すると、すべてのデータが挿入されますが、しばらくそれを残すと、もう一度データが挿入されるため、データが重複して重複エラーが発生します。一括データjsonを正しく挿入するにはどうすればよいですか?
面白いランダム使用に実際にあります未定義を返すマップ - –
サイドノート:私たちは2017年に、未加工の値を洞窟人としてSQLに注入せず、準備されたステートメントを使用します。また、データにシングルクォートやその他の特殊文字が含まれていると、スクリプトがランダムにクラッシュするのを防ぐことができます。 –