Rumah > Artikel > hujung hadapan web > pengembalian pangkalan data pertanyaan nodejs
Node.js ialah persekitaran masa jalan JavaScript yang ringan yang boleh menggunakan JavaScript untuk menulis kod sisi pelayan, menyokong I/O tak segerak dan model dipacu peristiwa dan sangat sesuai untuk membina aplikasi rangkaian yang sangat berskala. Apabila membangunkan aplikasi web, selalunya perlu untuk berinteraksi dengan pangkalan data, seperti menyoal maklumat pengguna, mendapatkan semula sejarah pesanan, dsb. Artikel ini akan memperkenalkan cara untuk menanyakan pangkalan data dan mengembalikan data dalam Node.js.
Pilih Pangkalan Data
Sebelum kita mula menanyakan pangkalan data, kita perlu memilih pangkalan data yang ingin kita gunakan. Node.js menyokong banyak pangkalan data popular seperti MongoDB, MySQL dan PostgreSQL. Setiap pangkalan data mempunyai kelebihan dan kekurangannya, dan pangkalan data yang sesuai harus dipilih berdasarkan keperluan projek. Dalam artikel ini, kami akan menggunakan pangkalan data MySQL.
Pasang MySQL
Sebelum menggunakan pangkalan data MySQL, kita perlu memasang MySQL terlebih dahulu. Di Ubuntu, anda boleh menggunakan arahan berikut:
sudo apt-get update sudo apt-get install mysql-server
Pada Windows, anda boleh memuat turun pemasang dari tapak web rasmi MySQL dan ikut gesaan untuk memasangnya.
Sambung ke pangkalan data MySQL
Dalam Node.js, kita boleh menggunakan pakej npm mysql untuk berinteraksi dengan pangkalan data MySQL. Untuk menggunakan perpustakaan ini, kita perlu memasangnya terlebih dahulu. Anda boleh menggunakan arahan berikut:
npm install mysql
Menyambung ke pangkalan data MySQL memerlukan penciptaan kumpulan sambungan, yang akan bertanggungjawab untuk menguruskan semua sambungan ke pangkalan data. Berikut ialah contoh kod untuk menyambung ke pangkalan data MySQL:
const mysql = require('mysql'); const pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); pool.getConnection((err, connection) => { if (err) throw err; console.log('Connected to MySQL'); })
Dalam contoh, kami telah mencipta kumpulan sambungan menggunakan kaedah mysql.createPool dan lulus beberapa pilihan seperti bilangan maksimum sambungan, nama hos, nama pengguna , kata laluan dan nama pangkalan data untuk disambungkan. Kemudian, kami menggunakan kaedah pool.getConnection untuk mendapatkan sambungan daripada kolam sambungan. Jika berjaya, mesej "Disambungkan ke MySQL" akan dicetak.
Menyiasat pangkalan data
Selepas menyambung ke pangkalan data MySQL, kita boleh menggunakan objek sambungan untuk menanyakan pangkalan data. Berikut ialah contoh kod untuk menanyakan semua pengguna dalam pangkalan data MySQL:
const mysql = require('mysql'); const pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); pool.getConnection((err, connection) => { if (err) throw err; connection.query('SELECT * FROM users', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); }); });
Dalam contoh ini, kami menggunakan kaedah connection.query untuk menanyakan semua pengguna dalam pangkalan data MySQL. Kaedah ini menerima dua parameter: rentetan yang mengandungi pertanyaan SQL dan fungsi panggil balik. Jika pertanyaan berjaya, parameter kedua bagi fungsi panggil balik akan menjadi tatasusunan yang mengandungi semua hasil pertanyaan. Dalam contoh ini, kami mencetak keputusan ke konsol dan melepaskan sambungan pangkalan data menggunakan kaedah connection.release.
Hasil pertanyaan boleh diproses selanjutnya. Sebagai contoh, kita boleh menggunakan kaedah Array.map untuk menukar hasil kepada tatasusunan objek:
rows = rows.map(row => { return { id: row.id, name: row.name, email: row.email }; });
Dalam contoh ini, kami menggunakan kaedah Array.map untuk menukar setiap objek baris dalam hasil untuk mempunyai ID, nama dan elektron Objek sifat mel.
Hadkan keputusan
Dalam sesetengah kes, mungkin perlu untuk mengehadkan hasil pertanyaan, seperti hanya mengembalikan sepuluh keputusan teratas. Dalam MySQL, anda boleh menggunakan klausa LIMIT untuk mengehadkan hasil. Berikut ialah kod sampel yang menunjukkan cara untuk mengehadkan hasil:
connection.query('SELECT * FROM users LIMIT 10', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); });
Dalam contoh ini, kami menggunakan klausa LIMIT untuk mengehadkan hasil kepada hanya sepuluh baris pertama.
Tapis hasil
Dalam sesetengah kes, anda mungkin perlu menapis hasil pertanyaan berdasarkan kriteria tertentu. Dalam MySQL, anda boleh menggunakan klausa WHERE untuk menapis hasil. Berikut ialah kod sampel yang menunjukkan cara menggunakan klausa WHERE untuk menapis hasil:
connection.query('SELECT * FROM users WHERE age > 18', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); });
Dalam contoh ini, kami menggunakan klausa WHERE untuk menapis hasil agar hanya memasukkan pengguna yang berumur lebih daripada 18 tahun.
Ringkasan
Dalam artikel ini, kami memperkenalkan cara untuk menanyakan pangkalan data MySQL dalam Node.js dan mengembalikan hasilnya. Mula-mula, kami menyambung ke pangkalan data MySQL, kemudian melaksanakan pertanyaan dan memproses keputusan menggunakan fungsi panggil balik. Kami juga membincangkan cara mengehadkan dan menapis hasil dan memproses hasilnya. Harap artikel ini dapat membantu anda menanyakan pangkalan data dalam Node.js.
Atas ialah kandungan terperinci pengembalian pangkalan data pertanyaan nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!