Ich kann nicht verstehen, wie man den PostgreSQL-Pool in NodeJS verbindet und es richtig macht. Ich benutze Express mit Router, alle Handler sind in verschiedenen Dateien abgelegt. Jeder rät dazu, eine separate Datei mit einer DB-Verbindung zu erstellen und diese in jeder Quellcodedatei "anzufordern". Ist es möglich, diesen Pool über app.use oder etwas anderes zu verbinden? Alle meine Handler verwenden immer DB-Verbindung für jede Benutzeranforderung.Wie verbinde ich PostgreSQL richtig mit NodeJS?
0
A
Antwort
0
Ich bin ziemlich sicher, das Beispiel unten ist, was andere Ihnen sagen zu tun, das nutzt das Pooling Postgres.
Wenn es eine andere Methode, die so einfach wie ein erfordern und technisch 2 loc pro Datei wäre, würde ich gerne hören.
Beispiel einer erforderlichen querydb Datei:
"use strict";
const url = require('url');
const pg = require('pg');
const params = url.parse("postgres://username:[email protected]/database");
const auth = params.auth.split(':');
const config = {
user: auth[0],
password: auth[1],
host: params.hostname,
port: params.port,
database: params.pathname.split('/')[1]
};
const pool = new pg.Pool(config);
const DB = {
query: function(query, callback) {
pool.connect((err, client, done) => {
if(err) return callback(err)
client.query(query, (err, results) => {
done()
if(err) { console.error("ERROR: ", err) }
if(err) { return callback(err) }
callback(null, results.rows)
})
});
}
}
dann überall, wenn Sie die Datenbank abfragen möchten Sie nur die paar Zeilen weiter unten verwenden statt Kopieren/Einfügen der gesamten Verbindungs-Pooling-Methode.
Anwendungsbeispiel
const queryDB = require("../queryDB.js");
...
let query = "SELECT * FROM table;"
queryDB.query(query, (err, results) => {
// Handle err/results
})
Verwandte Themen
- 1. Wie verbinde ich mich mit postgresql aus Dateien?
- 2. Wie verbinde ich Hibernate mit PostgreSQL in Eclipse?
- 3. In Heroku, wie verbinde ich PostgreSQL von einem anderen Server?
- 4. Wie verbinde ich mit fakes3
- 5. Wie exit socket richtig mit Nodejs net
- 6. Wie verbinde ich IPython mit funktionierenden Generatorausdrücken?
- 7. verbinde C# mit PgBouncer
- 8. Benutzerauthentifizierung mit JWT in NodeJs mit postgresQL?
- 9. Wie verbinde ich Node.js mit Cassandra?
- 10. Wie verbinde ich den Docker Web App Container mit dem Docker PostgreSQL Container?
- 11. Wie verbinde ich mich mit einer entfernten PostgreSQL-Datenbank mit Python
- 12. Wie verbinde ich mich mit einem impliziten FTPS-Server mit nodeJS?
- 13. Wie verbinde ich mich mit einer eingebetteten Derby-Datenbank?
- 14. Wie verbinde ich eine ReactJS-Komponente richtig mit Redux mit react-redux?
- 15. Wie verbinde ich Jsp mit Cassandra 1.0.8?
- 16. Wie verbinde ich GOPATH mit LiteIDE?
- 17. Wie verbinde ich Storyboard mit viewcontroller
- 18. Wie verbinde ich Dart mit SQLite?
- 19. Wie verbinde ich cpanel mit RESTful API?
- 20. Wie verbinde ich iOS App mit Wordpress?
- 21. Wie verbinde ich C-Code mit BoringSSL?
- 22. Wie verbinde ich mongodb mit golang verbinden
- 23. Wie verbinde ich Threejs mit React?
- 24. Wie verbinde ich meinen ftp mit Webstorm?
- 25. Wie verbinde ich eine Hintergrundfarbe mit jquery?
- 26. Wie verbinde ich mehrere Bilder mit jquery?
- 27. Tmux: Wie verbinde ich Funktionstasten mit Befehlen?
- 28. Wie verbinde ich meinen Server mit Atlas?
- 29. Wie verbinde ich Benutzerdaten mit anderen Tabellen?
- 30. Wie verbinde ich HTML Divs mit Zeilen?
Dies sollte helfen: http://mherman.org/blog/2016/03/13/designing-a-restful-api-with-node-and-postgres/ –
@ Vitaly-t hast du meine Frage gelesen? Ich frage nach anderen Lösungen. Diese Lösung ist schlecht und nicht empfohlen, in der Praxis zu verwenden –
Ihre Beschreibung des Problems ist zu vage, unmöglich zu verstehen, was die Art des Problems ist. Außerdem ist der Titel der Frage irreführend. Ich würde vorschlagen, deine Frage neu zu überdenken und sie auf den Punkt zu stellen;) –