Express及mongoose搭建数据库(增删改查)
2023-12-18 22:17:22
express是什么?
Express.js 是一个基于?Node.js?平台的 Web 应用程序框架,它旨在帮助开发者轻松构建和管理 Web 服务和应用程序。Express 提供了许多强大的功能,使得创建可扩展、灵活且高性能的 Web 应用变得相对容易。
安装Express步骤
确保已经安装了 Node.js 和 npm,使用npm创建express项目
// 步骤一,安装express包
npm i express -g
// 步骤二,安装express-generator包
npm i express-generator -g
使用express-generator生成express项目
// node-api是项目名称
express --no-view node-api
// 使用cd进入创建的项目文件,例如
cd node-api
//进入项目文件后初始化项目
npm i
配置跨域,安装cors模块,可参照
// 安装命令
npm i cors --save
// 在app.js文件中引入cors模块并使用,例如
var express = require("express");
var path = require("path");
..........
..........
// 在这里引入即可
var cors = require("cors");
var indexRouter = require("./routes/index");
var usersRouter = require("./routes/users");
var app = express();
// 在这里使用
app.use(cors());
.........
.........
module.exports = app;
?安装nodemon这个包
npm i nodemon -D
?然后修改package.json中的配置,修改成nodemon
"scripts": {
"start": "nodemon ./bin/www"
},
?经过此步骤后,查看是否能启动这个服务器
// 启动命令/控制台启动
nodemon
安装mongoose步骤
进入mongoose官网:Mongoose.js中文网
安装mongoose
npm i mongoose -S
?在mongoose.com中将以下代码放在app.js中
// app.js文件
var express = require("express");
var path = require("path");
..........
..........
var cors = require("cors");
// 在此处引入
const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/数据库集合名');
var indexRouter = require("./routes/index");
var usersRouter = require("./routes/users");
var app = express();
app.use(cors());
.........
.........
module.exports = app;
在routes/index.js文件中创建集合配置字段类型
..........
const mongoose = require("mongoose");
const Product = mongoose.model("Product", { name: String, price: Number });
// 使用这行命令添加几条数据/记得注释掉(不然会一直添加 )
Product.create({
name:'板子',
price:123
})
下面进行功能测试,增删改查
添加数据
// 添加
router.post("/", async function (req, res, next) {
const product = new Product(req.body);
const result = await product.save();
res.json({
code: 200,
message: "success",
data: result,
});
});
搜索查询分页
// 搜素,排序,分页
router.get("/", async function (req, res, next) {
const page = req.query.page || 1;
const limit = req.query.limit || 2;
const skip = (page - 1) * limit;
const searchName = req.query.name || "";
const products = await Product.find()
.where({ name: searchName })
.skip(skip)
.limit(limit)
.sort({ price: 1 });
res.json({
code: 200,
message: "success",
data: products,
});
});
修改数据
// 修改
router.post("/:id", async function (req, res, next) {
const id = req.params.id;
await Product.updateOne({ _id: id }, req.body);
res.json({
code: 200,
message: "success",
});
});
删除数据
// 删除
router.delete("/:id", async function (req, res, next) {
const id = req.params.id;
const result = await Product.findOneAndDelete({ _id: id });
res.json({
code: 200,
message: "del success",
});
});
文章来源:https://blog.csdn.net/m0_74060440/article/details/135056466
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!