在終端中輸入 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