当前位置: 首页 > wzjs >正文

做网站为什么要用源码黄山网站优化

做网站为什么要用源码,黄山网站优化,php 开启gzip加速网站,wordpress 挂黑链文章目录 前言一、环境准备二、项目结构三、环境变量四、连接数据库3.1. connect.js 文件 五、定义数据模型5.1. BannerModel.js 文件 六、实现 server 接口6.1. server.js 文件 七、服务文件7.1. app.js 文件 八、感谢 前言 Mongoose 是一个在 Node.js 环境中操作 MongoDB 数据…

文章目录

  • 前言
  • 一、环境准备
  • 二、项目结构
  • 三、环境变量
  • 四、连接数据库
    • 3.1. connect.js 文件
  • 五、定义数据模型
    • 5.1. BannerModel.js 文件
  • 六、实现 server 接口
    • 6.1. server.js 文件
  • 七、服务文件
    • 7.1. app.js 文件
  • 八、感谢

前言


Mongoose 是一个在 Node.js 环境中操作 MongoDB 数据库的工具库。它提供了一种在 Node.js 中进行数据库操作的简单、直观、异步的方式,可以用来定义数据模型、执行查询、更新和删除操作,以及进行数据验证等功能。通过 Mongoose,开发者可以更方便地操作 MongoDB 数据库,提高开发效率。

一、环境准备

确保已安装:

  • Node.js (≥ 14.x)
  • MongoDB (≥ 4.x)

初始化项目并安装依赖:

mkdir node-mongo-demo
cd node-mongo-demo
npm init -y
npm install express mongoose dotenv

二、项目结构

node-mongo-demo/

├── .env
├── db/
│   └── connect.js
├── models/
│   └── BannerModel.js
├── routes/
│   └── server.js
├── app.js
└── package.json

三、环境变量

创建 .env 文件(用于环境变量):

MONGODB_URI= mongodb://localhost:1818/demo
PORT=3000

四、连接数据库

在 db/connect.js 中连接 MongoDB 数据库:

3.1. connect.js 文件

const express = require('express');
const mongoose = require('mongoose');
require('dotenv').config();const app = express();
app.use(express.json()); // 解析 JSON 请求体// 连接 MongoDB
mongoose.connect(process.env.MONGODB_URI).then(() => console.log('MongoDB 已连接')).catch(err => console.error('MongoDB 连接错误:', err));// 路由
app.use('/items', require('./routes/items'));// 启动服务器
app.listen(process.env.PORT, () => {console.log(`服务端口: ${process.env.PORT}`);
});

五、定义数据模型

在 models/BannerModel.js 中定义数据模型:

定义了一个名为 BannerSchema 的模式(Schema),它包含了五个字段:imgPath、url 、 name 、 description 和 price。字段被定义为 字符串 和 数值 类型,可以设置 必填 的(required: true)。可以设置默认值 (default: ‘’)。可以设置数值最小值 (min: 0)。

然后,您使用这个模式创建了一个 Mongoose 模型(model),命名为 Banner。这个模型可以用来创建、查询、更新和删除 MongoDB 中的 Banner 集合(Collection)。

最后,您将这个模型赋值给了 module.exports,这样其他文件就可以通过 require 引用这个模型,并使用它与 MongoDB 交互。

5.1. BannerModel.js 文件

const mongoose = require('mongoose');
const Schema = mongoose.Schema;let BannerSchema = new Schema({imgPath: { type: String, required: true },url: { type: String, required: true },name: { type: String, required: true },description: { type: String, default: '' },price: { type: Number, min: 0 }
});let model = mongoose.model('Banner', BannerSchema);
module.exports = model;

六、实现 server 接口

6.1. server.js 文件

const express= require('express');
const router= require('router');
const Banner= require('../db/BannerModel.js');// 获取 banner 数据
router.get('./getBanner',( req,res)=>{console.log('getBanner')Banner.find().then((data)=>{res.send({err:0,msg:'查询ok',data:data})}).catch((err)=>{res.send({err:-1,msg:'查询不成功'})}) 
})// 删除 banner
router.post('./delBanner',( req, res )=>{console.log('gdelBanner')
})// 新增 banner 数据
router.post('./addBanner',( req, res)=>{console.log(req.body)let {imgPath,url,name}= req.bodyBanner.insertMany({imgPath,url,name}).then((data)=>{res.send({ err:0,msg:'添加成功' })}).catch((err)=>{res.send({ err:-1,msg:'添加失败' })})     
})// 修改 banner 数据
router.post('./updateBanner',( req, res)=>{Banner.update( {_id:id}, {imgPath,url,name} )console.log('getBanner')
})module.exports = router;

七、服务文件

在 app.js 中连接 MongoDB:

7.1. app.js 文件

const express= require('express');
const path= require('path');
const app= express()
const db= require('./src/db/connect.js')
//post配置
var bodyParser= require('body-parser')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended:false }))//配置静态目录
app.use(express.static( path.json( __diename,'./atatic' )))
//路由相关
const server= require('./src/routes/server.js')
app.use('./server', server)app.listen(3000,()=> {console.log('服务器启动')
})

八、感谢

如果觉得有用欢迎点赞关注收藏。
有问题私信我!!~~
谢谢

http://www.dtcms.com/wzjs/540966.html

相关文章:

  • 做地图特效的网站青岛注册公司流程2023年
  • 提供微商城网站建设网络广告策划书怎么写
  • 一站式网站建设方案产品页面设计模板
  • 网站优化我自己可以做吗招聘网站页面设计图片
  • 电商网站建设任务分解结构男女做暖网站
  • 网站页面描述wordpress 双 切换
  • 贵州建设职业技术学院报名网站企业电子商务网站有哪些
  • 网站右侧虚代码wordpress 负载能力
  • ppt 如何做网站交互式wordpress网站加密方式
  • 网上做兼职的网站有哪些工作南京网站优化推广
  • 阿里云建站百度收录吗ui界面设计图
  • 佛山专业网站建设的公司上海建站网站简洁案例
  • seo搜索引擎优化网站网站制作中需要注意的地方
  • 网站开通会员怎么开发合肥建公司网站
  • 网站建设最好用什么语言全国中小企业信息网
  • 高端建站费用淄博网站建设兼职
  • 建设网站时候应该注意哪些做外贸没有网站需要注意什么问题
  • 南京网站制作设计公司怎样建移动网站
  • 口碑营销网站wordpress添加微信微博等小工具
  • 租一个网站服务器多少钱网站开发系统毕业综合实践报告
  • 互联网开网站怎么做手机网站首页模板
  • 网站系统建设方案电商知识基础
  • 加强网站建设的制度html在网站开发中的应用
  • 微商城网站开发制作做征婚网站
  • 主要给人家做网站的公司信宜做网站设置
  • 企业营销型企业网站建设好看的模板
  • 全国免费自学网站有哪些阿里巴巴国际站费用
  • 烟台工程建设信息网站企业网站开发目的和意义
  • 做浏览单的网站能自己做效果图的网站
  • 网站建设题目深圳搜索优化排名