Я сбиваю себе голову этим с прошлой ночи. Когда я добавляю параметры в sql, это не работает.Невозможно использовать параметризованные SQL-выражения с помощью Node.js и Postgres
var findOne = function(username, cb) {
pg.connect(pgURL, function(err, client, done) {
var query = client.query('SELECT * FROM users WHERE username = $1', [username]);
done();
query.on('row', function(row) {
cb(err, row);
});
});
};
Однако, если я выполняю инструкцию SQL без параметризации, она работает нормально.
var query = client.query("SELECT * FROM users WHERE username = 'foobar'");
Кроме того, делая console.log (запрос), сразу после того, сделано(), получаем следующее:
13:48:00 web.1 | { domain: null,
13:48:00 web.1 | _events: null,
13:48:00 web.1 | _maxListeners: 10,
13:48:00 web.1 | name: undefined,
13:48:00 web.1 | text: 'SELECT * FROM users WHERE username = $1',
13:48:00 web.1 | values: [ '{"username":"foobar"}' ],
13:48:00 web.1 | callback: undefined,
13:48:00 web.1 | _result:
13:48:00 web.1 | { command: null,
13:48:00 web.1 | rowCount: null,
13:48:00 web.1 | oid: null,
13:48:00 web.1 | rows: [],
13:48:00 web.1 | fields: [],
13:48:00 web.1 | _parsers: [],
13:48:00 web.1 | RowCtor: null },
13:48:00 web.1 | _addedFields: false,
13:48:00 web.1 | _canceledDueToError: false }
Что я здесь делаю неправильно?
Отличный улов. Спасибо, это именно то, что было проблемой. – Ahmed