前后端分离mongodb+node.js+express实现登录注册的代码
时间: 2023-06-15 16:03:58 浏览: 253
首先,需要安装 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 就可以测试接口了。
阅读全文