2017-11-23 13 views
0

データベースにデータが挿入されています。それは完全に正常に動作しますが、これを行うためのより良い方法があることを知っている..私はどのようにこれらのすべてのクエリを単一のものに圧縮する必要がありますか?node.jsでmssqlを使用した複数のクエリ

データ

data = [{Location: 'A', shift: '1'}, {Location: 'B', Shift: '2'}, {Location: 'C', Shift: '3'}]

のNode.js

//Receive from Angular Server 
const express = require('express'); 
const bodyParser = require('body-parser'); 
const app = express(); 
var sql = require('mssql'); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 

app.all("/*", function (req, res, next) { 
    res.header('Access-Control-Allow-Origin', '*'); 
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); 
    res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); 
    next(); 
}); 

app.listen(1433, function() { console.log('Example app listening on port 1433!') }) 

var config = { 
    server: "T21DOPD1", 
    database: "ARGYLE_COMPARE", 
    user: "dop_adm", 
    password: "dopadm", 
    port: 1433 
}; 

app.post('/ping', function (req, res) { 
    res.send(res.body); 
    var jsondata = JSON.stringify(req.body); 
    var data = JSON.parse(jsondata); 
    // data = [{Location: 'A', shift: '1'}, {Location: 'B', Shift: '2'}, {Location: 'C', Shift: '3'}] 


    sql.connect(config, function(err) { 
    if(err) 
     console.log(err); 
    else 
     console.log("Connection successful"); 

    var request = new sql.Request(); 

    request 
    .query('INSERT INTO testDB set ?', data, (err,results)=>{ 
     console.log(err, results); 
    }) 
    }) 
}); 

エラー

error : return callback(err, recordsets, _this.rowsAffected); TypeError: callback is not a function

答えて

0

は、単に公式mysqljsドキュメント01を通過しますこのライン

Nested arrays are turned into grouped lists (for bulk inserts), e.g. [['a', 'b'], ['c', 'd']] turns into ('a', 'b'), ('c', 'd')

query('INSERT INTO testDB set ?', [[ 'A', '1'], [ 'B', '2'],[ 'C', '3']], (err,results)=>{ 
    console.log(err, results); 
}) 
+0

はいを​​把握、私のデータ構造は[{}、... {}]このような何か..私はちょうどそれらを解析する必要がありますされ、それネストされた配列作るには? –

+0

オブジェクトのすべてのキーが列名と完全に一致する場合は動作しますが – shivshankar

+0

そのポストごとにコードを更新しましたが、コールバックエラー –

関連する問題