Node.js+Express+MongoDB实现简单登录注册功能

本文介绍了如何使用Node.js的Express框架和MongoDB数据库来创建简单的登录和注册功能。通过Mongoose库操作MongoDB,包括定义Schema、创建Model以及实现数据库连接、用户数据模型和登录注册的业务逻辑。文章详细讲解了工程目录结构,涉及的数据表,以及处理登录和注册的具体文件如login.js和register.html。
摘要由CSDN通过智能技术生成

Node.js+Express+MongoDB实现简单登录注册功能

Mongoose操作MongoDB

名词解释
Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
工程目录:


数据库表:


连接数据库connect.js
/**
 * Created by linziyu on 2017/7/15.
 */
/**
 * 连接数据库,基本配置
 *
 */
var mongoose = require("mongoose");   //需要提前使用npm安装mongodb

var url = "mongodb://127.0.0.1:27017/nodejs";   //mongo是我的数据库
var db = mongoose.connect(url);                     //连接数据库
  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
首先,需要安装 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.json()); // 连接 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).json({ msg: '该用户已存在' }); } // 创建新用户 const newUser = new User({ email, password }); newUser.save() .then(user => res.json(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).json({ msg: '该用户不存在' }); } // 验证密码是否正确 if (user.password !== password) { return res.status(400).json({ msg: '密码错误' }); } // 登录成功 res.json({ 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 就可以测试接口了。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值