21xrx.com
2024-06-02 22:25:27 Sunday
登录
文章检索 我的文章 写文章
如何编写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编写简单应用程序的快乐。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复