node+mongodb建站攻略(1)

入口文件
var express=require(‘express’)
var port=process.env.PORT||3000
var app=express()

app.set(‘views’,’./views’)
app.set(‘view engine’,’jade’)
app.use(express.bodyParser())
app.use(express.static(path.join(_dirname, ‘bower_components’)))
app.listen(port)

console.log(‘imooc started on port ’ + port)

//index page
app.get(‘/’,function(req,res){
res.render(‘index’,{
title:’imooc 首页’
})
})

//detail page
app.get(‘/movie/: id’,function(req,res){
res.render(‘admin’,{
title:’imooc 后台录入页’
})
})

伪造模板数据跑通前后端交互流程
bower install bootstrap
link(href=”/bootstrap/dist/css/bootstrap.min.css”,rel=”stylesheet”)

method=”post”,action=”/admin/movie”

设计数据库模型
schema
model
documents –数据库批量查询
var Movie=require(‘./models/movie’)
app.get(‘/’,function(req,res){
Movie
.find({})
.exec(function(err,movies){
res.render(‘index’,{
title:’imooc 首页’,
movies:movies
}
})
})
});
documents–数据库单条删除
var Movie=require(‘./models/movie’)
app.get(‘/’,function(req,res){
Movie
.remove({_id:id},function(err,movie){
if(err){
console.log(err)
}
}
}

在使用Vue.js作为前端框架,Node.js作为后端服务器,以及MongoDB作为数据库的情况下,实现注册和登录功能通常涉及到以下步骤: 1. **前端Vue.js部分**: - 使用Vue CLI创建Vue项目。 - 设计注册和登录表单界面。 - 使用Axios或Fetch API与后端通信,发送注册和登录请求。 2. **后端Node.js部分**: - 使用Express框架创建RESTful API。 - 使用body-parser中间件解析请求体。 - 使用jsonwebtoken(JWT)进行身份验证。 - 使用Mongoose操作MongoDB数据库,创建用户模型和相关的CRUD接口。 3. **数据库MongoDB部分**: - 设计用户集合的文档结构,通常包含用户名、密码、邮箱等字段。 - 实现用户数据的增删改查操作。 以下是一个简化的代码示例: **前端Vue.js (注册登录组件示例)**: ```javascript // 注册组件 <template> <form @submit.prevent="register"> <!-- 用户名、密码等输入字段 --> <button type="submit">注册</button> </form> </template> <script> export default { methods: { register() { this.axios.post('/api/register', { username: this.username, password: this.password }).then(response => { // 处理响应,例如跳转到登录页面 }).catch(error => { // 处理错误 }); } } }; </script> ``` **后端Node.js (注册接口示例)**: ```javascript const express = require('express'); const bodyParser = require('body-parser'); const mongoose = require('mongoose'); const jwt = require('jsonwebtoken'); const app = express(); app.use(bodyParser.json()); // 连接MongoDB mongoose.connect('mongodb://localhost:27017/mydatabase', { useNewUrlParser: true }); // 用户模型 const UserSchema = new mongoose.Schema({ username: String, password: String, // 其他字段... }); const User = mongoose.model('User', UserSchema); // 注册API app.post('/api/register', (req, res) => { const newUser = new User({ username: req.body.username, password: req.body.password // 实际项目中需要对密码加密处理 }); newUser.save().then(user => { res.status(201).send(user); }).catch(err => { res.status(400).send(err); }); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` **数据库MongoDB (用户集合结构)**: ```json { "_id": ObjectId("..."), "username": "user1", "password": "hashed_password", // 其他信息... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值