21xrx.com
2025-03-29 22:30:45 Saturday
文章检索 我的文章 写文章
如何编写Node.js用户信息管理案例代码
2023-07-05 09:17:53 深夜i     --     --
Node js 用户信息 管理 案例代码

Node.js是一种流行的Javascript运行时,以其高效的I/O操作和非阻塞事件驱动模型而闻名。它也逐渐成为服务器端编程的首选工具。在本文中,我们将讨论如何使用Node.js编写一个简单的用户信息管理案例,包括数据存储,插入,查询和删除等基本操作。

首先,我们需要定义数据结构。在这个例子中,我们只需要两个字段:用户名和密码。打开命令行窗口,进入到你的项目文件夹中,运行以下代码:

npm init -y
npm install express body-parser mongoose --save

这个指令创建了一个名为package.json的文件,并给我们安装了所需的依赖。接下来,我们创建一个文件夹,命名为“models”,在其中新建一个名为“user.js”的新文件。在该文件中,定义以下用户模型:

const mongoose = require('mongoose');
const userSchema = mongoose.Schema(
 password: String
);
const User = mongoose.model('User', userSchema);
module.exports = User;

我们使用Mongoose这个对象模型工具来帮助我们定义数据模型。在代码中,我们构造了一个新的模型,命名为“User”,它将使用“userSchema”这个数据库模式。

接下来,我们创建一个新文件夹,命名为“routes”。“routes”是一个跟我们的URL路由相关的文件夹,我们在里面创建“user.js”文件,并在其中定义以下路由:

const express = require('express');
const User = require('./../models/user');
const router = express.Router();
router.route('/')
 .get((req, res) => {
  User.find({}, (err, users) => {
   if (err) {
    return res.status(500).send(err);
   } else {
    return res.status(200).send(users);
   }
  });
 })
 .post((req, res) => {
  const newUser = new User();
  newUser.username = req.body.username;
  newUser.password = req.body.password;
  newUser.save((err, user) => {
   if (err) {
    return res.status(500).send(err);
   } else {
    return res.status(200).send(user);
   }
  });
 })
router.route('/:id')
 .get((req, res) => {
  User.findById(req.params.id, (err, user) => {
   if (err) {
    return res.status(500).send(err);
   } else {
    return res.status(200).send(user);
   }
  });
 })
 .put((req, res) => {
  User.findById(req.params.id, (err, user) => {
   if (err) {
    return res.status(500).send(err);
   } else {
    user.username = req.body.username || user.username;
    user.password = req.body.password || user.password;
    user.save((err, newUser) => {
     if (err) {
      return res.status(500).send(err);
     } else {
      return res.status(200).send(newUser);
     }
    });
   }
  });
 })
 .delete((req, res) => {
  User.findByIdAndRemove(req.params.id, (err, user) => {
   if (err) {
    return res.status(500).send(err);
   } else {
    return res.status(200).send(`User ${user.username} has been removed!`);
   }
  });
 });
module.exports = router;

在代码中,我们使用一个名为“express.Router()”的方法来创建服务器路由。路由文件暴露出各种HTTP方法,分别代表查询所有(“GET”),插入一条记录(“POST”),查询一条(“GET”),更新(“PUT”)和删除(“DELETE”)。这些方法需要响应相关数据,因此我们使用回调函数来处理这些请求。当我们运行app.js(主文件)时,我们将需要对这些路由进行调用。

设置路由完成后,我们需要为我们的服务器编写一些基本代码。在你的项目文件夹中打开“app.js”或者“server.js”,添加以下代码:

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const userRoutes = require('./routes/user');
const app = express();
mongoose.connect('mongodb://localhost:27017/testusers');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use('/users', userRoutes);
app.listen(3000, () => {
 console.log('Listening on port 3000!');
});

在代码中,我们首先连接了一个名为“testusers”的本地MongoDB数据管理系统。在这里,我们使用了body-parser和mongoose这两个包,来帮助我们处理HTTP请求和处理数据库操作。然后,使用app.use()中间件,串联对路由的处理。最后,我们将服务器的端口设置为3000,并且开始监听请求。

现在,我们的编写任务就完成了,可以尝试着使用POSTMAN这样的测试工具发送HTTP请求。我们可以输入以下请求URL,来查看查询结果:

http://localhost:3000/users

我们也可以增加一些其他功能,并开发详细的测试用例来排查所有问题,所以现在你可以开始享受用Node.js编写简单应用程序的快乐。

  
  

评论区