MongoDB案例之用户信息增删改查理论分析

本文档详细介绍了如何使用Node.js搭建服务器,实现与MongoDB数据库的连接,以及用户信息的增删改查功能。通过GET和POST请求处理用户列表展示、添加、修改和删除操作,涉及路由、模板引擎和数据处理。示例代码展示了从接收到的POST数据解析用户信息,并将其存储到数据库中,最后进行页面重定向。
摘要由CSDN通过智能技术生成

案例:用户信息增删改查理论分析
完整代码在这

完成功能要求

  1. 搭建网站服务器,实现客户端与服务器端的通信
  2. 连接数据库,创建用户结合,向集合中插入文档
  3. 当用户访问/list时,将所有用户信息查询出来
  4. 将用户信息和表格HTML进行拼接并将结果响应回客户端
  5. 当用户访问/add时,呈现表单页面,并实现添加用户信息功能
  6. 当用户访问/modify时,呈现修改页面,并实现修改用户信息功能
  7. 当用户访问/delete时,实现用户删除功能

程序实现步骤

程序实现步骤

  1. 创建服务器
  2. 连接数据库
  3. 创建数据 创建集合 文档 之类的具体可参考MongoDB数据库这一节
  4. 导入数据到数据库:之前做的小例子也是playground数据库,所以我把他全部删除了,要重新连接新的数据库playground 只需要在powershell里面输入node app.js(对应文件名字)就好了 然后使用mongoimport命令导入数据
  5. 实现用户信息展现页面 分为下面几个小步骤

呈现用户列表页面主要代码

if (method == 'GET') {
        if (pathname == '/list') {
            //把list的html文件内容赋值给list变量
            let list = `list页面的html文件内容`;
            res.end(list);
        }
    }
  • 从数据库中查询用户信息,将用户信息展示在列表中 从地址栏中输入的list页面大多属于get方式,post会实现一些功能,所以呢这部分内容写在get方式里面
  • 点击添加 要呈现表单页面 并实现添加用户信息功能 跟list一样通过赋值的方式呈现add页面
    同时点击list页面的添加用户功能也要跳转 所以把list 里面的添加用户的按钮href =/add
  • 点击表单页面的添加用户按钮时 是post请求方式 所以要在表单form 里面指定请求方式method=post

615 4:33
点击add页面的添加按钮应该能添加数据到数据库
首先考虑在Post请求中接收我们输入的数据
代码示例如下

else if (method == 'POST') {
        if (pathname == '/add') {
            //接收用户的信息
            let formData = '';
            //接收post参数
            req.on('data', (param) => {
                formData += param;
            });
            //post参数接收完毕
            req.on('end', () => {
                console.log(formData);
            });
            //将用户提交的信息添加到数据库中 
        }
    }

上面代码的执行结果
在这里插入图片描述
我们要想办法把这个参数进行格式转换,使用querystring进行转换,但是这里得到的object:null …好像无所谓参考博文
把用户输入的数据存入到数据库:
存数据代码示例,存储完成之后又跳到了list页面

//post参数接收完毕
            req.on('end', async() => {
                let user = querystring.parse(formData);
                //将用户提交的信息添加到数据库中 
                await User.create(user);
                // res.end('ok');
                //301代表重定向 重新跳到list
                //location 就是我们期望跳到的页面
                res.writeHead(301, {
                    location: '/list'
                });
                res.end();
            });
  1. 修改用户信息分为两大步骤:
  • 增加页面路由 呈现页面
    在点击修改按钮的时候 将用户ID传递到当前页面
    从数据库中查询当前用户信息 将用户信息展示到页面中
    在这里插入图片描述
    在这里插入图片描述
  • 实现用户修改功能
    指定表单提交地址以及请求方式
    接收客户端传递过来的修改信息 找到用户 将用户信息更改为最新的数据
    在这里插入图片描述
    删除功能
    为删除按钮添加链接
    首先也是找到list页面为删除按钮添加链接在这里插入图片描述
    在这里插入图片描述

所有代码写在一个文件???不会吧 当然不是啦
将数据库连接代码放到index.js文件中 创建集合代码放到user.js字符串拼接可以使用后面要学习的模板引擎来解决
619完结,下次开始学习模板引擎,学完之后自己再分析整个用户信息列表数据代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值