其实我更推荐这篇文章,涵盖了安装,使用,精确语法解释示例等 -- MongoDB下载、安装、配置、使用,如何下载MongoDB数据库,MongoDB入门
1. 使用express创建服务
1.1 下载express
包
npm i express
npm i cors // 处理跨域
1.2 创建最基本的服务
const express = require('express')
const app = express()
app.use(require('cors')())
app.use(express.json())
app.use(express.urlencoded({ extended:false }))
app.listen(80,()=>{
console.log('服务启动成功');
})
2. 使用moogodb并建立连接
2.1 下载mongoose
包
npm i mongoose
2.2 建立连接并创建数据库与表
const mongoose = require('mongoose')
// 创建与mongoose链接 node-mongoose代表数据库名称
mongoose.connect('mongodb://localhost:27017/node-mongoose', {
useUnifiedTopology: true,
useNewUrlParser: true,
})
// 创建一个表,并定义表Product,定义表字段title与字段类型
const Product = mongoose.model('Product',new mongoose.Schema({
title: String,
}))
3 使用moogodb进行最基本的删查改写
// 查询
app.get('/products',async (req, res) => {
// limit 限制查询条数 skip 从第一天跳过几条数据 where查询条件 sort代表排序 1为正序 -1倒叙
// const data = await Product.find().skip(1).limit(1)
// const data = await Product.find().where({title: '0'})
const data = await Product.find().sort({_id: 1})
res.send( data )
})
// 新增
// 注意 传递表中不存在的数据会导致插入输入的失败
app.post('/products',async (req, res)=>{
console.log(req.body);
const body = req.body
const products = await Product.create(body)
res.send( products )
})
// 根据id修改数据
app.put('/products/:id',async (req, res) => {
console.log(req);
const products = await Product.findById(req.params.id)
products.title = req.body.title
// 保存数据
await products.save()
res.send(products)
})
// 根据id删除数据
app.delete('/products/:id',async (req, res) => {
console.log(111,req.params.id);
const products = await Product.findById(req.params.id)
// 删除数据
await products.remove()
res.send({
success: true,
})
})
4. 完整代码
const express = require('express')
const app = express()
const mongoose = require('mongoose')
app.use(require('cors')())
app.use(express.json())
app.use(express.urlencoded({ extended:false }))
// 创建与mongoose链接 node-mongoose代表数据库名称
mongoose.connect('mongodb://localhost:27017/node-mongoose', {
useUnifiedTopology: true,
useNewUrlParser: true,
})
// 创建一个表,并定义表Product,定义表字段title与字段类型
const Product = mongoose.model('Product',new mongoose.Schema({
title: String,
}))
app.get('/products',async (req, res) => {
// limit 限制查询条数 skip 从第一天跳过几条数据 where查询条件 sort代表排序 1为正序 -1倒叙
// const data = await Product.find().skip(1).limit(1)
// const data = await Product.find().where({title: '0'})
const data = await Product.find().sort({_id: 1})
res.send( data )
})
// 注意 传递表中不存在的数据会导致插入输入的失败
app.post('/products',async (req, res)=>{
console.log(req.body);
const body = req.body
// select *form user where
const products = await Product.create(body)
res.send( products )
})
app.put('/products/:id',async (req, res) => {
console.log(req);
const products = await Product.findById(req.params.id)
products.title = req.body.title
// 保存数据
await products.save()
res.send(products)
})
app.delete('/products/:id',async (req, res) => {
console.log(111,req.params.id);
const products = await Product.findById(req.params.id)
// 删除数据
await products.remove()
res.send({
success: true,
})
})
app.listen(80,()=>{
console.log('服务启动成功');
})
网友评论