Node.js | Express+MongoDB 实现简易用户管理系统(一)(项目搭建 | RESTful API架构 | 前后端交互)

首先,需要安装 MongoDB 数据库和 Node. js 运行环境。 然后,创建一个新的文件夹,命名为 myapp,进入该文件夹,打开终 端_窗口,输入以下命令,初始化 _项目npm init 按照提示输入 项目_信息,初始化完成后,输入以下命令安装 _Express 和 Mongoose 模块: npm install _express_ mongoose --save 接下来,创建一个名为 server. js 的文件,输入以下代码: javascript const _express_ = require(' _express_'); const mongoose = require('mongoose'); const bodyParser = require('body-parser'); const app = _express_(); // 配置 bodyParser 解析 POST 请求的数据 app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser. _js_on()); // 连接 _MongoDB_ 数据库 mongoose.connect(' _mongodb_://localhost/myapp', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log(' _MongoDB_ Connected...')) .catch(err => console.log(err)); // 定义 _用户_模型 const UserSchema = new mongoose.Schema({ email: String, password: String }); const User = mongoose.model('User', UserSchema); // 注册接口 app.post('/signup', (req, res) => { const { email, password } = req.body; // 检查是否已存在该 _用户_ User.findOne({ email }) .then(user => { if (user) { return res.status(400). _js_on({ msg: '该 _用户_已存在' }); } // 创建新 _用户_ const newUser = new User({ email, password }); newUser.save() .then(user => res. _js_on(user)) .catch(err => console.log(err)); }); }); // 登录接口 app.post('/login', (req, res) => { const { email, password } = req.body; // 检查 _用户_是否存在 User.findOne({ email }) .then(user => { if (!user) { return res.status(404). _js_on({ msg: '该 _用户_不存在' }); } // 验证密码是否正确 if (user.password !== password) { return res.status(400). _js_on({ msg: '密码错误' }); } // 登录成功 res. _js_on({ msg: '登录成功' }); }); }); const port = process.env.PORT || 5000; app.listen(port, () => console.log(Server started on port ${port})); 以上代码 实现_了一个简单的注册和登录接口,使用了 _Express、Mongoose 和 BodyParser 模块。 最后,输入以下命令启动服务器: _node_ server. _js_ 访问 http://localhost:5000 就可以测试接口了。

Original: https://blog.csdn.net/m0_51969330/article/details/127653162
Author: 海底烧烤店ai
Title: Node.js | Express+MongoDB 实现简易用户管理系统(一)(项目搭建 | RESTful API架构 | 前后端交互)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/760613/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 已连接的 RDBMS 实例未针对 Esri 空间类型配置进行相应设置

    html;gutter:true; 验证的授权文件。 用户具有进行地理数据库设置的必要权限。 已启动数据库实例的 XML 支持。</p> <p>You mu…

    Python 2023年6月3日
    070
  • 什么是VHDL?一文带你了解VHDL语言

    基于FPGA的SOC在嵌入式系统应用越来越广了,比较流行的硬件描述语言有两种Verilog HDL/VHDL,均为IEEE标准。VHDL如果有C语言基础的话就会比较容易上手。而VH…

    Python 2023年10月1日
    053
  • 从零开始的个人博客之Django框架学习

    前言 现在开始从零基础学习到开发完成自己的个人博客 把这些文章作为笔记记录学习的过程的知识 在以后需要用到的知识点忘记时以供翻阅复习!!! 学习文章地址:杜赛_dusai 的个人主…

    Python 2023年8月5日
    053
  • Numpy简易教程7——读/写文件

    读/写文件 NumPy的文件读/写主要有二进制的文件读/写和文件列表形式的数据读/写两种形式。学会读/写文件是利用NumPy进行数据处理的基础。NumPy提供了若干函数,可以把结果…

    Python 2023年8月27日
    049
  • Nginx的基本使用

    为了快速测试以及节省不必要的时间,整个实验我都以docker为基础,当然你也可以手动搭建。 整个环境资源包括windows10和一台VMware上的centos7(防火墙已经关闭)…

    Python 2023年8月11日
    067
  • 彻底掌握Makefile(一)

    彻底掌握Makefile(一) 介绍 makefile就是一个可以被make命令解析的文件,他定义了一系列编译的规则,帮助我们更加方便、简洁的去完成编译的过程。在一个大工程当中我们…

    Python 2023年10月21日
    056
  • Python代码阅读(第45篇):柯里化

    本篇阅读的代码实现了将函数柯里化的功能。 在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数…

    Python 2023年6月15日
    077
  • python动画精灵_Python pygame精灵动画

    你在瞎说字符.图像在屏幕上:screen.blit(character.images,(30,100)) 以下是类变量包含的内容: ^{pr2}$ 此变量从不更新,因此自然不会显示…

    Python 2023年9月24日
    037
  • 课程笔记7:Scrapy框架——规则化爬虫

    搭建一个基础爬虫 1.新建项目: scrapy startproject scrapyuniversaldemo 2.查看可用模版并指定crawl模版创建爬虫 scrapy gen…

    Python 2023年10月3日
    059
  • drf — 序列化 –> serializers

    drf组件中,为我们提供了两个序列化类 Serializer ModelSerializer 这两个类类似于Django中的form和ModelForm,其实底层就是继承了这两个类…

    Python 2023年6月10日
    076
  • 如何在CentOS7上搭建自己的GitLab仓库

    序言 各位好啊,我是会编程的蜗牛,作为java开发者,在团队开发中,一般都是需要使用git及git仓库来管理我们的代码的,这非常方便。我以前在小公司的时候,基本都是一个人开发一个项…

    Python 2023年10月15日
    059
  • Anaconda下载(Windows系统)

    Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。所以, 我们下好an…

    Python 2023年8月1日
    050
  • 【编写环境二】python库scipy.stats各种分布函数生成、以及随机数生成【泊松分布、正态分布等】

    平时我们在编写代码是会经常用到一些随机数,而这些随机数服从一定的概率分布。 1.泊松分布、正态分布等生成方法 1.1常见分布: stats连续型随机变量的公共方法: *离散分布的简…

    Python 2023年8月27日
    096
  • Flask响应

    一、正常响应 Flask调动视图函数后,会将其返回值作为响应的内容。多数情况下,就是一个简单的字符串。但是HTTP协议需要的不仅仅是作为响应的字符串,另一个很重要的部分是 状态码,…

    Python 2023年8月15日
    058
  • c++游戏程序例子_组合游戏系列3: 井字棋、五子棋的OpenAI Gym GUI环境

    继上一篇完成了井字棋(N子棋)的minimax 最佳策略后,我们基于Pygame来创造一个图形游戏环境,可供人机和机器对弈,为后续模拟AlphaGo的自我强化学习算法做环境准备。O…

    Python 2023年9月23日
    041
  • 通用 列表存excel

    ### 回答1: 通用 excel_库 _存_管理系统是一种利用 _Excel_软件开发的库 _存_管理系统。该系统旨在帮助企业、商店、仓库等机构更有效地管理和跟踪库 _存_信息。…

    Python 2023年8月8日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球