Trong quá trình phát triển ứng dụng web, việc kết nối và truy vấn cơ sở dữ liệu là một phần quan trọng. Trong bài viết này, chúng ta sẽ tìm hiểu cách kết nối và truy vấn cơ sở dữ liệu MongoDB trong ứng dụng Express. Sử dụng MongoDB là một lựa chọn phổ biến trong việc lưu trữ dữ liệu cho ứng dụng Node.js vì tính linh hoạt và khả năng mở rộng của nó.
Kết nối MongoDB với Express:
Để bắt đầu, chúng ta cần cài đặt gói Mongoose thông qua npm và cấu hình kết nối tới cơ sở dữ liệu MongoDB.
npm install express mongoose
Dưới đây là một ví dụ về cách kết nối MongoDB với Express:
const mongoose = require('mongoose');
const express = require('express');
const app = express();
// Kết nối tới cơ sở dữ liệu MongoDB
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log('Đã kết nối tới MongoDB');
// Tiếp tục viết các route và logic xử lý trong Express
})
.catch((error) => {
console.error('Lỗi kết nối tới MongoDB:', error);
});
// ... Các route và logic xử lý khác trong Express
app.listen(3000, () => {
console.log('Server đã khởi động');
});
Truy vấn dữ liệu từ MongoDB:
Sau khi kết nối thành công tới MongoDB, chúng ta có thể thực hiện các truy vấn dữ liệu trong ứng dụng Express. Dưới đây là một ví dụ về truy vấn dữ liệu từ MongoDB bằng Mongoose:
const mongoose = require('mongoose');
// Định nghĩa schema và model
const userSchema = new mongoose.Schema({
name: String,
age: Number
});
const User = mongoose.model('User', userSchema);
// Truy vấn dữ liệu từ MongoDB
User.find({ age: { $gte: 18 } })
.then((users) => {
console.log('Danh sách người dùng:', users);
// Tiếp tục xử lý dữ liệu trả về
})
.catch((error) => {
console.error('Lỗi truy vấn dữ liệu:', error);
});
Trong ví dụ trên, chúng ta định nghĩa một schema cho đối tượng "User" và sử dụng model để thực hiện truy vấn dữ liệu. Ở đây, chúng ta truy vấn tất cả người dùng có tuổi lớn hơn hoặc bằng 18 và log kết quả trả về.
Kết luận: Trong bài viết này, chúng ta đã tìm hiểu cách kết nối và truy vấn cơ sở dữ liệu MongoDB trong ứng dụng Express. Việc sử dụng MongoDB cho cơ sở dữ liệu của ứng dụng Node.js giúp chúng ta có một giải pháp linh hoạt và mạnh mẽ. Bằng cách sử dụng Mongoose, chúng ta có thể dễ dàng thực hiện các truy vấn dữ liệu và xây dựng ứng dụng web đáng tin cậy.