在终端中输入 npm init
而后一直回车 最后确认javascript
node.js 安装 express 输入npm install express nodemon
回车java
"start": "nodemon app.js"
在当前目录下 建立 app.js 文件node
const express = require("express")
const app = express()
app.get('/' , (req,res) => {
res.send("Hello World")
})
//端口
app.listen(3000)
复制代码
保存 在终端中 输入 npm start
打开浏览器 打开 https://localhost:3000
git
ctrl+c
终止批处理操做 再输入 npm install mongoose
回车安装点我进MongoDB官网github
TryFree
注册一个新用户能够得到500m的免费云数据FREE
点击 Create a Starter Cluster
Create Cluster
建立Network Access
给项目 再点击 +ADD IP ADDRESS
添加接入IPALLOW ACCESS FROM ANYWHERE
再确认Confirm
Database Access
再点击 +ADD NEW USER
添加接入用户Clusters
再点击 COLLECTIONS
Clusters
返回主页 点击 CONNECT
链接数据
Copy
mongodb+srv://user123:user123@cluster0-kxpls.azure.mongodb.net/userDB?retryWrites=true&w=majority
复制代码
npm install doenv
回车安装.env
在文件中写入链接数据库的urlDB_CONNECTION=mongodb+srv://user123:user123@cluster0-kxpls.azure.mongodb.net/userDB?retryWrites=true&w=majority
复制代码
const mongoose = require("mongoose")
require("dotenv/config")
mongoose.connect(process.env.DB_CONNECTION,{ useUnifiedTopology: true,useNewUrlParser: true },() => {
console.log("connect DB!")
})
复制代码
routes
文件夹 在文件加下建立posts.js
文件来统一处理数据库增删改查代码的编写models
文件夹 在文件加下建立Post.js
文件来处理数据库键名添加posts.js
文件中 引入 models
文件下的Post.js
const Post = require('../models/Post')
复制代码
Post.js
中写入 数据库测试的键名const mongoose = require('mongoose')
const PostSchema = mongoose.Schema({
title:{
type:String,
required:true
},
connect:{
type:String,
required:true
},
date:{
type:Date,
dafault: Date.now
}
})
module.exports = mongoose.model('Posts' , PostSchema)
复制代码
app.js
文件中 引入 routes
文件下的posts.js
const postRoute = require('./routes/posts')
app.use('/posts',postRoute)
复制代码
-在posts.js文件下写入增删改查代码mongodb
const express = require("express")
const router = express.Router()
const Post = require('../models/Post')
//查询数据库全部数据
router.get('/', async (req, res) => {
try {
const finePosts = await Post.find()
res.json(finePosts)
} catch (err) {
res.json({ message: err })
}
})
//添加数据
router.post('/', async (req, res) => {
const post = new Post({
title: req.body.title,
connect: req.body.connect
})
try {
const savePost = await post.save()
res.json(savePost)
} catch (err) {
res.json({ message: err })
}
})
//查找对应id的数据
router.get('/:postId', async (req, res) => {
try {
const findPost = await Post.findById(req.params.postId)
res.json(findPost)
} catch (err) {
res.json({ message: err })
}
})
//删除数据
router.delete('/:postId', async (req, res) => {
try {
const removePost = await Post.remove({ _id: req.params.postId })
res.json(removePost)
} catch (err) {
res.json({ message: err })
}
})
//修改数据
router.patch('/:postId', async (req, res) => {
try {
const updatePost = await Post.updateOne({ _id: req.params.postId }, { $set: { title: req.body.title } })
res.json(updatePost)
} catch (err) {
res.json({ message: err })
}
})
module.exports = router
复制代码
npm install body-parser
回车安装npm install cors
回车安装app.js
引入body-parser
与cors
const bodyParser = require('body-parser')
const cors = require('cors')
app.use(cors())
app.use(bodyParser.json())
复制代码
npm start
启动API5d9caaeec6c67361e0ac3f1a
的数据:
5d9caaeec6c67361e0ac3f1a
的数据:
5d9caaeec6c67361e0ac3f1a
的数据:
点我查看源码数据库
未经做者容许禁止转载! express