MEAN.JS - Xây dựng mô hình dữ liệu
Trong chương này, chúng tôi sẽ trình bày cách sử dụng mô hình dữ liệu trong ứng dụng Node-express của chúng tôi.
MongoDB là một cơ sở dữ liệu NoSQL mã nguồn mở lưu dữ liệu ở định dạng JSON. Nó sử dụng mô hình dữ liệu hướng tài liệu để lưu trữ dữ liệu thay vì sử dụng bảng và hàng như chúng ta sử dụng trong cơ sở dữ liệu quan hệ. Trong chương này, chúng tôi đang sử dụng Mongodb để xây dựng mô hình dữ liệu.
Mô hình dữ liệu chỉ định dữ liệu nào có trong tài liệu và dữ liệu nào nên có trong tài liệu. Tham khảo cài đặt MongoDB chính thức , để cài đặt MongoDB.
Chúng tôi sẽ sử dụng mã chương trước của chúng tôi. Bạn có thể tải xuống mã nguồn trong liên kết này . Tải xuống tệp zip; giải nén nó trong hệ thống của bạn. Mở thiết bị đầu cuối và chạy lệnh dưới đây để cài đặt các phụ thuộc mô-đun npm.
$ cd mean-demo
$ npm install
Thêm Mongoose vào ứng dụng
Mongoose là một thư viện mô hình dữ liệu chỉ định môi trường và cấu trúc cho dữ liệu bằng cách làm cho MongoDB trở nên mạnh mẽ. Bạn có thể cài đặt Mongoose dưới dạng mô-đun npm thông qua dòng lệnh. Đi tới thư mục gốc của bạn và chạy lệnh dưới đây -
$ npm install --save mongoose
Lệnh trên sẽ tải xuống gói mới và cài đặt nó vào thư mục node_modules . Các --save cờ sẽ thêm gói này để package.json tập tin.
{
"name": "mean_tutorial",
"version": "1.0.0",
"description": "this is basic tutorial example for MEAN stack",
"main": "server.js",
"scripts": {
"test": "test"
},
"keywords": [
"MEAN",
"Mongo",
"Express",
"Angular",
"Nodejs"
],
"author": "Manisha",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"mongoose": "^5.5.13"
}
}
Thiết lập tệp kết nối
Để làm việc với mô hình dữ liệu, chúng tôi sẽ sử dụng thư mục ứng dụng / mô hình . Hãy tạo mô hình sinh viên.js như dưới đây:
var mongoose = require('mongoose');
// define our students model
// module.exports allows us to pass this to other files when it is called
module.exports = mongoose.model('Student', {
name : {type : String, default: ''}
});
Bạn có thể thiết lập tệp kết nối bằng cách tạo tệp và sử dụng tệp đó trong ứng dụng. Tạo một tập tin gọi db.js trong config / db.js . Nội dung tệp như dưới đây -
module.exports = {
url : 'mongodb://localhost:27017/test'
}
Ở đây kiểm tra là tên cơ sở dữ liệu.
Ở đây, giả sử rằng bạn đã cài đặt MongoDB cục bộ. Sau khi cài đặt, hãy khởi động Mongo và tạo cơ sở dữ liệu theo tên kiểm tra. Db này sẽ có một bộ sưu tập theo tên sinh viên. Chèn một số dữ liệu vào bộ sưu tập này. Trong trường hợp của chúng tôi, chúng tôi đã chèn một bản ghi bằng db.students.insertOne ({name: 'Manisha', place: 'Pune', country: 'India'});
Đưa tệp db.js vào ứng dụng, tức là trong server.js . Nội dung của tệp như được hiển thị bên dưới -
// modules =================================================
const express = require('express');
const app = express();
var mongoose = require('mongoose');
// set our port
const port = 3000;
// configuration ===========================================
// config files
var db = require('./config/db');
console.log("connecting--",db);
mongoose.connect(db.url); //Mongoose connection created
// frontend routes =========================================================
app.get('/', (req, res) ⇒ res.send('Welcome to Tutorialspoint!'));
//defining route
app.get('/tproute', function (req, res) {
res.send('This is routing for the application developed using Node and Express...');
});
// sample api route
// grab the student model we just created
var Student = require('./app/models/student');
app.get('/api/students', function(req, res) {
// use mongoose to get all students in the database
Student.find(function(err, students) {
// if there is an error retrieving, send the error.
// nothing after res.send(err) will execute
if (err)
res.send(err);
res.json(students); // return all students in JSON format
});
});
// startup our app at http://localhost:3000
app.listen(port, () ⇒ console.log(`Example app listening on port ${port}!`));
Tiếp theo, chạy ứng dụng bằng lệnh dưới đây:
$ npm start
Bạn sẽ nhận được xác nhận như trong hình dưới đây -
Bây giờ, hãy truy cập trình duyệt và nhập http://localhost:3000/api/students. Bạn sẽ nhận được trang như trong hình dưới đây -