я не получаю правильный результат sql сервер nodejs - PullRequest
1 голос
/ 06 мая 2020

Я пытаюсь подключиться и запросить мой sql сервер из nodejs с этим кодом:

const http = require('http');
var express = require('express');
var app = express();
app.get('/', function (req, res) {
    var sql = require("mssql");

    var dbconfig = {
        server: "xxxx",
        user: "xxxx",
        password: "xxxx",
        database: "xxxxx",
    };
    sql.connect(dbconfig, function (err) {
        if (err)
            console.log(err);
        var request = new sql.Request();
        request.query('select PersonID from Persons', function (err, recordset) {
            if (err) {
                console.log(err)
            } else {
                res.send(recordset);
                console.log(recordset);
            }
            //connect.close();
        });
    });
});

, и результат

'' '{ "recordsets": [[{"PersonID": 1}]], "recordset": [{"PersonID": 1}], "output": {}, "rowsAffected": [1]} '' 'я хочу результат без таких наборов записей:

[{"PersonID": 1}] '' '

1 Ответ

1 голос
/ 06 мая 2020

Как упоминалось в docs , node mssql -library поддерживает несколько запросов, поэтому вы видите recordsets в своем результате. В вашем случае - поскольку у вас есть только один выбор - вы можете просто вернуть первый набор записей, т.е.

request.query('select PersonID from Persons', function (err, result) {
        if (err) {
            // handle error
        } else {
            res.send(result.recordset);
        }
    });
...