Rücksendung Ergebnis aus WÄHLEN Sie mit der node-postgres
Schwierigkeiten haben, die Ergebnisse von SELECT-Abfragen in Knoten-postgres. Jetzt Reihen leer sind am Ende der codeblock. Diese wählen Sie einfach gibt einen nächsten Wert aus einer Sequenz in POSTGRESQL. Ich weiß, dass Ihr können nicht abrufen, Ergebnisse von Rückruf, aber gibt es hier jemand, die Knoten-postgres(oder jede andere Datenbank-Module-Knoten), die wissen vielleicht eine Lösung?
client.connect();
var query = client.query("SELECT nextval(\'idgenerator\');");
var rows = [];
query.on('row', function(row, res) {
rows.push(row);
});
query.on('end', function(result) {
console.log(result.rowCount + ' rows were received');
});
//client.end();
console.log(rows);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie lernen, javascript /nodejs, und die Ereignis-Programmierung.
query.on('row', function() { /*CODE*/})
bedeutet : "wenn eine Zeile Lesen, ausführen CODE".Dies ist asynchron, also Abfrage.auf (), registrieren Sie das Ereignis und kehrt zurück.
So when console.log(rows)
aufgerufen wird, werden die Zeilen noch leer ist, weil keine 'Zeile' - Ereignis ausgelöst wurde, die auf Abfragen, noch.Sollten Sie versuchen, putting ' - Konsole.log(Zeilen)' in den Körper der Abfrage.auf('Ende') - event-handler.
Überall im code, Sie sollten auch schreiben einige
console.log
. Sie werden sehen die asynchrone Sache.Wenn wir nicht das Ergebnis nennen.addRow () - Methode der Zeilen-array wäre leer in das end-Ereignis.
Ref: http://nodeexamples.com/2012/09/21/connecting-to-a-postgresql-database-from-node-js-using-the-pg-module/