Οι περισσότερες εφαρμογές του πραγματικού κόσμου αλληλεπιδρούν με βάσεις δεδομένων με τον ένα ή τον άλλο τρόπο. Οι βάσεις δεδομένων διευκολύνουν τη διατήρηση, την ανάλυση και την αλληλεπίδραση με δεδομένα.
Οι περισσότερες γλώσσες προγραμματισμού προσφέρουν υποστήριξη για τη σύνδεση εφαρμογών σε βάσεις δεδομένων όπως η PostgreSQL. Μάθετε πώς μπορείτε να χρησιμοποιήσετε τη λειτουργική μονάδα node-postgres για να συνδέσετε μια εφαρμογή Node με την PostgreSQL.
Πως να ξεκινήσεις
Για να ξεκινήσετε με τη σύνδεση σε μια τοπική βάση δεδομένων, θα πρέπει να έχετε το Εγκαταστάθηκε ο διακομιστής PostgreSQL.
Το PostgresSQL είναι ένα από τα πιο κοινά συστήματα σχεσιακών βάσεων δεδομένων λόγω της ευελιξίας και της ισχύος του. Μπορείτε να εξετάσετε το ενδεχόμενο να το χρησιμοποιήσετε ως εναλλακτική της MySQL εάν το έργο σας είναι περίπλοκο ή αναζητάτε μια λύση που να αγκαλιάζει το ήθος του ανοιχτού κώδικα.
Δημιουργήστε μια εφαρμογή κόμβου
Το πρώτο βήμα είναι να δημιουργήσετε μια εφαρμογή Node που θα χρησιμοποιήσετε για να δοκιμάσετε τον κωδικό σύνδεσης. Στον φάκελο που προτιμάτε, δημιουργήστε έναν νέο φάκελο.
mkdir postgres-node
Μεταβείτε στον φάκελο που δημιουργήσατε και αρχικοποιήστε το npm.
CD postgres-κόμβος
npm init -y
Αυτή η εντολή θα πρέπει να δημιουργήσει ένα πακέτο.json αρχείο.
Στη συνέχεια, δημιουργήστε ένα νέο αρχείο και ονομάστε το index.js. Θα συνδέσετε το Node με την PostgreSQL σε αυτό το αρχείο.
Χρησιμοποιήστε την ενότητα node-postgres
ο κόμβος-postgres Το module είναι ένα πακέτο npm που σας επιτρέπει να συνδεθείτε και να αλληλεπιδράσετε με μια βάση δεδομένων PostgreSQL. Υπάρχουν δύο επιλογές που μπορείτε να χρησιμοποιήσετε για να συνδέσετε το Node με την PostgreSQL χρησιμοποιώντας τη λειτουργική μονάδα node-postgres: έναν μεμονωμένο πελάτη ή έναν χώρο συγκέντρωσης συνδέσεων. Τι πρέπει λοιπόν να χρησιμοποιήσετε;
Χρησιμοποιήστε έναν μόνο πελάτη εάν χρειάζεστε μόνο μία στατική σύνδεση κάθε φορά. Ωστόσο, εάν χρειάζεται να χρησιμοποιήσετε ταυτόχρονες και πολλαπλές αιτήσεις, χρησιμοποιήστε μια ομάδα σύνδεσης.
Εγκαταστήστε το node-postgres
Εκτελέστε την ακόλουθη εντολή στο τερματικό σας για να εγκαταστήσετε το node-postgres.
npm εγκαθιστώ σελ
Εάν χρησιμοποιείτε τον κόμβο >= 14.x, θα χρειαστεί να εγκαταστήσετε το [email protected] o αργότερα. Μπορείτε να καθορίσετε τον αριθμό έκδοσης προσθέτοντάς τον κατάληξη στην εντολή εγκατάστασης όπως αυτή.
npm εγκαθιστώ pg=8.7.3
Σύνδεση με PostgreSQL
Η λειτουργική μονάδα node-postgres απαιτεί τις ακόλουθες τιμές για να συνδεθεί σε μια βάση δεδομένων PostgreSQL.
- PGUSER - Όνομα χρήστη PostgreSQL για σύνδεση ως.
- PGHOST - Το όνομα του κεντρικού υπολογιστή στον οποίο θα συνδεθείτε.
- PGPASSWORD - Ο κωδικός πρόσβασης του διακομιστή PostgreSQL.
- PGDATABASE - Το όνομα της βάσης δεδομένων στην οποία συνδέεστε.
- PGPORT - Ο αριθμός θύρας για σύνδεση στον κεντρικό υπολογιστή διακομιστή.
Δημιουργήστε ένα αρχείο .env και προσθέστε αυτές τις μεταβλητές, αντικαθιστώντας τις αντίστοιχες τιμές από τη βάση δεδομένων σας:
PGUSER=<PGUSER>
PGHOST=<PGHOST>
PGPASSWORD=<PGPASSWORD>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>
Εγκαταστήστε το πακέτο dotenv για πρόσβαση στο αρχείο .env.
npm εγκαθιστώ dotenv
Σε index.js, εισαγωγή και ρύθμιση παραμέτρων dotenv.
συνθ dotenv = απαιτώ("dotenv")
dotenv.config()
Συνδεθείτε σε μια βάση δεδομένων PostgreSQL χρησιμοποιώντας έναν μόνο πελάτη
Ο παρακάτω κώδικας δείχνει πώς μπορείτε να συνδέσετε το Node σε έναν διακομιστή PostgreSQL χρησιμοποιώντας έναν μόνο πελάτη.
συνθ { Πελάτης } = απαιτώ("σελ.")
συνθ dotenv = απαιτώ("dotenv")
dotenv.config()συνθ connectDb = ασυγχρονισμός () => {
προσπαθήστε {
συνθ πελάτης = νέος Πελάτης({
χρήστης: επεξεργάζομαι, διαδικασία.env.PGUSER,
πλήθος: επεξεργάζομαι, διαδικασία.env.PGHOST,
βάση δεδομένων: επεξεργάζομαι, διαδικασία.env.PGDATABASE,
Κωδικός πρόσβασης: επεξεργάζομαι, διαδικασία.env.PGPASSWORD,
Λιμάνι: επεξεργάζομαι, διαδικασία.env.PGPORT
})αναμένω client.connect()
const res = await client.query('ΕΠΙΛΕΓΩ * ΑΠΟ some_table')
κονσόλα.log (res)
αναμένω client.end()
} σύλληψη (λάθος) {
κονσόλα.log (σφάλμα)
}
}
connectDb()
Χρήση μιας πισίνας σύνδεσης
Όπως αναφέρθηκε ήδη, μια ομάδα σύνδεσης σάς επιτρέπει να κάνετε πολλαπλές αιτήσεις σύνδεσης στον διακομιστή σας.
συνθ { Πισίνα } = απαιτώ("σελ.");
συνθ dotenv = απαιτώ("dotenv");
dotenv.config();συνθ connectDb = ασυγχρονισμός () => {
προσπαθήστε {
συνθ πισίνα = νέος Πισίνα({
χρήστης: επεξεργάζομαι, διαδικασία.env.PGUSER,
πλήθος: επεξεργάζομαι, διαδικασία.env.PGHOST,
βάση δεδομένων: επεξεργάζομαι, διαδικασία.env.PGDATABASE,
Κωδικός πρόσβασης: επεξεργάζομαι, διαδικασία.env.PGPASSWORD,
Λιμάνι: επεξεργάζομαι, διαδικασία.env.PGPORT,
});αναμένω pool.connect()
const res = await pool.query('ΕΠΙΛΕΓΩ * ΑΠΟ πελάτες')
κονσόλα.log (res)
αναμένω pool.end()
} σύλληψη (λάθος) {
κονσόλα.log (σφάλμα)
}
}
connectDb()
Τα παραπάνω παραδείγματα σάς επιτρέπουν να ελέγχετε τη διαμόρφωση της βάσης δεδομένων μέσω ενός αρχείου .env. Ωστόσο, μπορείτε επίσης να δώσετε αυτές τις τιμές διαμόρφωσης χρησιμοποιώντας τυπικές μεταβλητές περιβάλλοντος. Αυτή η προσέγγιση σάς επιτρέπει να αλλάξετε εύκολα τη διαμόρφωση κατά την εκκίνηση.
Εξετάστε τον ακόλουθο κωδικό σύνδεσης.
συνθ connectDb = ασυγχρονισμός () => {
προσπαθήστε {
συνθ πισίνα = νέος Πισίνα();
const res = await pool.query('ΕΠΙΛΕΓΩ * ΑΠΟ πελάτες')
κονσόλα.log (res)
αναμένω pool.end()
} σύλληψη (λάθος) {
κονσόλα.log (σφάλμα)
}
}
Σε αυτό το πρόγραμμα, δεν μεταβιβάζετε το αντικείμενο σύνδεσης ως όρισμα κατά την προετοιμασία του Pool. Αντίθετα, πρέπει να καθορίσετε τις λεπτομέρειες σύνδεσης όταν καλείτε το πρόγραμμα ως εξής:
PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSWORD=<PGPASSWORD> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
κόμβοςδείκτης.js
Η σύνδεση του Node με την PostgreSQL όπως αυτή σας επιτρέπει να γράψετε ένα πιο επαναχρησιμοποιήσιμο πρόγραμμα.
Κάνετε περισσότερα με την PostgreSQL
Για να δημιουργήσετε μια εφαρμογή που αλληλεπιδρά με βάσεις δεδομένων, πρέπει πρώτα να τη συνδέσετε στη βάση δεδομένων. Σε αυτό το άρθρο, μάθατε πώς να συνδέσετε το Node σε μια βάση δεδομένων PostgreSQL χρησιμοποιώντας τη λειτουργική μονάδα node-Postgres.
Εκτός από το PostgreSQL, υπάρχουν και άλλα συστήματα διαχείρισης βάσεων δεδομένων όπως το MySQL που μπορείτε να χρησιμοποιήσετε στην εφαρμογή σας. Το εργαλείο βάσης δεδομένων που θα επιλέξετε θα πρέπει να είναι το πιο συμβατό με τις ανάγκες δεδομένων σας.