Dengan pembangunan Internet, permintaan untuk aplikasi Web telah meningkat secara beransur-ansur, yang juga telah mempromosikan inovasi berterusan teknologi pembangunan. Node.js ialah masa jalan JavaScript berdasarkan enjin Chrome V8 Ia adalah teknologi I/O yang didorong oleh peristiwa dan menyokong pembangunan JavaScript bahagian pelayan. Dalam Node.js, pertanyaan ialah operasi biasa, terutamanya pertanyaan yang berkaitan dengan pangkalan data, seperti MongoDB, MySQL, dsb. Artikel ini akan memperkenalkan teknologi pertanyaan dalam Node.js.
Pertanyaan pangkalan data dalam Node.js
Node.js melaksanakan interaksi dengan pelbagai pangkalan data melalui banyak modul pangkalan data, termasuk SQLite, MySQL, PostgreSQL, MongoDB, dsb. Modul yang berbeza memerlukan kaedah pertanyaan yang berbeza, tetapi matlamat umum mereka adalah untuk mendapatkan data yang diperlukan daripada pangkalan data.
Berikut ialah beberapa operasi pertanyaan biasa:
Sisip ialah operasi pangkalan data biasa yang digunakan untuk menambah data ke tengah pangkalan data. Node.js menyokong pemasukan data ke dalam pelbagai pangkalan data dan mempunyai pelbagai kaedah pemasukan. Mengambil MongoDB sebagai contoh, sisipan boleh dilakukan dengan cara berikut:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) throw err;
const db = client.db(dbName);
const newDocument = { name: 'Tom', umur: 30 };
db.collection('users').insertOne( newDocument, ( err, result) => {
if (err) throw err; console.log('Document inserted!'); client.close();
});
});
Kod di atas menggunakan pemacu klien MongoDB untuk mewujudkan sambungan pangkalan data dan memasukkan nama ke dalam Dokumen koleksi pengguna untuk Tom, umur 30 tahun. Ambil perhatian bahawa kaedah insertOne() MongoDB digunakan di sini untuk memasukkan satu dokumen.
Mengemas kini data ialah satu lagi operasi pangkalan data biasa. Dalam Node.js, anda boleh mengemas kini satu dokumen dalam koleksi menggunakan kaedah updateOne(), contohnya:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb :// localhost:27017';
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if ( err) throw err;
const db = client.db(dbName);
const filter = { name: 'Tom' };
const update = { $set: { age : 31 } };
db.collection('users').updateOne(filter, update, (err, result) => {
if (err) throw err; console.log('Document updated!'); client.close();
});
}) ;
Kod ini menggunakan kaedah updateOne() untuk mengemas kini umur dokumen bernama Tom kepada 31 tahun. Operator $set menetapkan nilai baharu kepada nilai medan sedia ada dalam dokumen.
Mencari data ialah proses mendapatkan semula data daripada pangkalan data. Dalam Node.js, anda boleh menggunakan berbilang kaedah untuk mendapatkan semula data daripada pangkalan data, seperti find(), findOne(), count(), dsb. Sebagai contoh, kod berikut menggunakan kaedah find() untuk menanyakan semua dokumen yang berumur lebih daripada 20 tahun:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb: //localhost:27017' ;
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err ) throw err;
const db = client.db(dbName);
const query = { umur: { $gt: 20 } };
db.collection( 'pengguna').find (query).toArray((err, result) => {
if (err) throw err; console.log(result); client.close();
});
});
Kod di atas menggunakan find( ) kaedah dalam MongoDB untuk menanyakan umur lebih daripada 20 semua dokumen. Kaedah toArray() digunakan di sini untuk menukar hasil menjadi tatasusunan.
Memadam data ialah proses pemadaman data tertentu daripada pangkalan data. Dalam Node.js, anda boleh memadamkan satu atau lebih dokumen menggunakan kaedah remove(). Sebagai contoh, kod berikut memadamkan dokumen bernama Tom:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
const dbName = 'nodejsDB';
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) throw err;
const db = client.db(dbName);
const query = { name: 'Tom' };
db.collection('users').deleteOne(query, (err, result) = > {
if (err) throw err; console.log('Document deleted!'); client.close();
});
});
Kod di atas menggunakan kaedah deleteOne() untuk memadamkan dokumen bernama Tom.
Ringkasan
Artikel ini memperkenalkan teknologi pertanyaan dalam Node.js. Tidak kira modul pangkalan data mana yang digunakan, pertanyaan adalah operasi yang tidak dapat dielakkan. Dalam pembangunan sebenar, kaedah pertanyaan yang berbeza perlu dipilih mengikut keperluan yang berbeza. Artikel ini memperkenalkan kaedah operasi sisipan, kemas kini, pertanyaan dan padam biasa dalam MongoDB. Perlu diingat bahawa Node.js menggunakan model satu benang dan pertanyaan mungkin menyekat gelung acara. Oleh itu, anda perlu menggunakan kaedah panggil balik tak segerak untuk pertanyaan tidak menyekat untuk mengelakkan menjejaskan prestasi keseluruhan aplikasi.
Atas ialah kandungan terperinci pertanyaan nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!