Home >Web Front-end >Front-end Q&A >nodejs builds background management system

nodejs builds background management system

WBOY
WBOYOriginal
2023-05-13 22:02:352079browse

1. Foreword

With the continuous development of the Internet, all walks of life have begun to focus on digitalization, informatization and onlineization. And website development is an important aspect of it. I believe many friends have tried to develop using languages ​​such as PHP, Java, and Python. But today I want to introduce you to Node.js and how to use Node.js to build a backend management system.

Node.js is a lightweight and efficient open source JavaScript running environment. Node.js and browser development have the same purpose: the browser runs JavaScript to render the page, and Node.js runs JavaScript to execute the server side. Code operations.

Below I will introduce to you step by step how to use Node.js to build a backend management system.

2. Environment preparation

First, we need to prepare the following environment:

  1. Node.js: Because Node.js is a JavaScript running environment, it needs to be installed.
  2. MongoDB: MongoDB is a NoSQL database. The backend management system needs to store data, so MongoDB needs to be installed.
  3. Express: Express is a web application development framework based on Node.js.

After the environment is ready, we can start to design and develop the backend management system.

3. Database design

Before we start writing code, we need to understand what data our backend management system needs to store. For example, a simple blog management system needs to store posts, tags, and categories. Then, we can design the following database structure:

  1. Article table:
  • id: article ID.
  • title: Article title.
  • content: Article content.
  • createTime: article creation time.
  • updateTime: Last modified time.
  • status: article publishing status.
  1. Tag table:
  • id: Tag ID.
  • name: Tag name.
  1. Category table:
  • id: Category ID.
  • name: Category name.

After the database design is completed, we can start writing the code of the backend management system.

4. Build a backend management system

Before writing code, we need to install Express and some other necessary components. You can use the following command to install:

npm install express mongoose body-parser morgan cors --save

Next, we can write the code for the background management system. The code below is for reference only, readers can modify it according to their own needs.

  1. Create project

First, we need to create a Node.js project. It can be created using the following command:

mkdir blog-admin
cd blog-admin
npm init -y
  1. Create server

Next, we need to create a server in order to access our backend management system.

const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const morgan = require('morgan');
const cors = require('cors');

const app = express();
const port = 3000;

// 连接 MongoDB 数据库,并创建 blog-admin 数据库
mongoose.connect('mongodb://localhost/blog-admin', { useNewUrlParser: true, useUnifiedTopology: true });
const db = mongoose.connection;
db.on('error', console.error.bind(console, '连接 MongoDB 数据库失败了:'));
db.once('open', function() {
  console.log('成功连接 MongoDB 数据库了!');
  // 创建文章、标签和分类数据表
  const articleSchema = new mongoose.Schema({
    title: String,
    content: String,
    createTime: Date,
    updateTime: Date,
    status: Number
  });
  const tagSchema = new mongoose.Schema({
    name: String
  });
  const categorySchema = new mongoose.Schema({
    name: String
  });
  mongoose.model('Article', articleSchema);
  mongoose.model('Tag', tagSchema);
  mongoose.model('Category', categorySchema);
});

app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(morgan('dev'));

// 获取文章列表
app.get('/api/article', (req, res) => {
  const Article = mongoose.model('Article');
  Article.find({}).exec((err, data) => {
    if (err) {
      res.send('获取文章列表失败了!');
    } else {
      res.json(data);
    }
  });
});

// 添加文章
app.post('/api/article', (req, res) => {
  const Article = mongoose.model('Article');
  const article = new Article(req.body);
  article.createTime = new Date();
  article.status = 0;
  article.save((err, data) => {
    if (err) {
      res.send('添加文章失败了!');
    } else {
      res.json(data);
    }
  });
});

// 修改文章
app.put('/api/article/:id', (req, res) => {
  const Article = mongoose.model('Article');
  Article.findByIdAndUpdate(req.params.id, req.body, (err, data) => {
    if (err) {
      res.send('修改文章失败了!');
    } else {
      res.json(data);
    }
  });
});

// 删除文章
app.delete('/api/article/:id', (req, res) => {
  const Article = mongoose.model('Article');
  Article.findByIdAndRemove(req.params.id, (err, data) => {
    if (err) {
      res.send('删除文章失败了!');
    } else {
      res.json(data);
    }
  });
});

// 启动服务器
app.listen(port, () => {
  console.log(`服务器已启动,访问地址:http://localhost:${port}/`);
});

In the above code, we created a server and connected to the MongoDB database using mongoose. Then, we created data tables for articles, tags, and categories, and implemented APIs to get article lists, add articles, modify articles, and delete articles. Finally, we started the server.

5. Summary

This article introduces how to use Node.js to build a backend management system. First, we designed the database architecture, including articles, tags, and classification tables. We then created a server using Express and connected to the MongoDB database using mongoose. Finally, we implemented the API for getting the article list, adding articles, modifying articles, and deleting articles in the server.

In general, Node.js can effectively improve the efficiency and reliability of our web applications, especially when we need to deal with high concurrency situations. I believe that through the introduction of this article, everyone can already use Node.js to build a backend management system from scratch.

The above is the detailed content of nodejs builds background management system. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn