Próbuję nauczyć się, jak używać javascript do łączenia się z bazą danych PostgreSQL, ale kiedy próbuję zalogować zapytanie do konsoli za pomocą query.on (...), otrzymuję typ błąd, który mówi "query.on nie jest funkcją". Obszernie przeszukałem, jak rozwiązać ten problem, ale nie można znaleźć żadnej dokumentacji dotyczącej funkcji .on. Wiem, że połączenie powiodło się, ponieważ po wysłaniu zapytania do bazy danych z terminala dodano dwa nowe wiersze.query.on nie jest funkcją
jsontest.js
var pg = require('pg');
var conString = "postgres://[username]:[password]@localhost:5432/VONKTA1";
//username and password masked
var client = new pg.Client(conString);
client.connect();
client.query("INSERT INTO json_test (name, attributes) VALUES ('Ted', $1)", [{"age": 2, "gender": "M"}]);
client.query("INSERT INTO json_test (name, attributes) VALUES ('Sarah', $1)", [{"age": 8, "gender": "F"}]);
console.log("about to query");
var query = client.query("SELECT * FROM json_test");
query.on('row', function(row) {
console.log(row);
});
query.on('end', function() {
client.end();
});
package.json
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "test.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"pg": "^7.0.2",
}
}
bez żadnej wiedzy co 'pg.Client' jest, można po prostu tylko pocieszyć zalogować' zapytania '? Możesz zobaczyć, jakie metody są dostępne, być może wystąpił błąd podczas tworzenia nowego obiektu 'pg.Client'? – jdmdevdotnet
'query.on' został usunięty z node-pg 7. Zobacz, jak poprawnie obsłużyć wiersze na stronie https://node-postgres.com/guides/upgrading. –
nigdy nie korzystałem z tej biblioteki, ale z szybkiego spojrzenia nie widzę niczego na temat ".on" w dokumentach. Używają wywołań zwrotnych, obietnic lub 'oczekują/asynchronizują' zamiast zdarzeń – baao