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

网站开发论坛样式百度热搜电视剧

网站开发论坛样式,百度热搜电视剧,建设电商网站思想,建设一个app要多少钱文章目录 一、使用mongoose 模块化的原因二、准备工作2. 启动mongo.exe 和mongod.exe 两个程序连接数据库 三、基本模块的拆分1、基本逻辑2、代码3、代码图示说明 四、在index.js 中进一步的拆分1.拆分原因2.新建model文件夹存储文档的结构对象3.代码4.代码实际演示和注意点 一…

文章目录

  • 一、使用mongoose 模块化的原因
  • 二、准备工作
    • 2. 启动mongo.exe 和mongod.exe 两个程序连接数据库
  • 三、基本模块的拆分
    • 1、基本逻辑
    • 2、代码
    • 3、代码图示说明
  • 四、在index.js 中进一步的拆分
    • 1.拆分原因
    • 2.新建model文件夹存储文档的结构对象
    • 3.代码
    • 4.代码实际演示和注意点


一、使用mongoose 模块化的原因

原因:如你看完这个系列的文章,你发现会有很多重复的代码。(包括但不限于导入mongoose、设置strictQuery为true、连接mongodb服务等代码)
作用:对代码做一个拆分,将里面的内容进行复用。

二、准备工作

如下图所示:在你的项目中新建文件夹08模块化,在新建文件夹中创建db文件夹新建db.js存储相同逻辑的代码,使用index.js 用来引入db文件夹中的内容进行操作数据库的一些操作。
在这里插入图片描述

2. 启动mongo.exe 和mongod.exe 两个程序连接数据库

在这里插入图片描述

三、基本模块的拆分

1、基本逻辑

(1)在db文件夹中的db.js中写入重复代码
(2)在inedx.js 中写入连接成功要执行的成功方法函数
(3)验证:根据mongo.exe查看数据库的数据新增成功

2、代码

db.js


// 将相同操作的代码放到一个函数中,之后复用这个函数即可。
/*** * @param {*} success  执行成功的回调函数* @param {*} err  执行失败的回调函数*/
module.exports = function (success, err) {// 1:安装并导入mongooseconst  mongoose = require('mongoose')mongoose.set('strictQuery', true); // 解决终端警告的问题// 2: 连接 mongodb 服务// mongodb: 表示mongodb 服务,而不是http服务// 27017 表示端口号// test 表示数据库名mongoose.connect('mongodb://127.0.0.1:27017/test')// 3:设置回调// 3.1 设置连接成功的回调// 设置连接成功的回调: once 事件回调函数只执行一次mongoose.connection.once('open', () => {console.log('db.js中的连接成功');success();})// 3.2 设置连接错误的回调mongoose.connection.on('error', () => {console.log('连接错误');})// 3.3 设置连接关闭的回调mongoose.connection.on('close', () => {console.log('连接关闭');})
}

index.js

// 1:导入mongoose 
const mongoose = require('mongoose')
// 2:导入db文件
const db = require('./db/db')
// 3:调用函数(参数1为成功回调,参数2为失败回调)
db(() => {console.log('index.js中的连接成功');// 4:创建文档的结构对象// 设置集合中文档的属性以及属性值的类型let userSchema = new mongoose.Schema({name: String,age: Number,sex: String})// 5:创建模型对象   对文档操作的封装对象let userModel = mongoose.model("user", userSchema)// 6: 新增userModel.create({name: '赵六',age: 99,sex: '男'}, function (err, data){// err 判断是否有错误if (err) {console.log(err)return;} console.log(data);})
}, () => {console.log('连接失败');
})

3、代码图示说明

在这里插入图片描述

四、在index.js 中进一步的拆分

1.拆分原因

user文档的其他操作会导致这部分逻辑重复了,需要拆分

在这里插入图片描述

2.新建model文件夹存储文档的结构对象

将要创建的同一对象放到js中暴露出来,后面引用可以重复使用。
注意点:需要在使用的页面(index.js)中引入该模块名。
在这里插入图片描述

3.代码

model>userModel.js

const mongoose = require('mongoose')// 创建文档的结构对象
let userSchema = new mongoose.Schema({name: String,age: Number,sex: String
})
// 创建模型对象   对文档操作的封装对象
let userModel = mongoose.model("user", userSchema)// 暴露模型对象
module.exports = userModel; 

index.js

// 1:导入mongoose 
const mongoose = require('mongoose')
// 2:导入db文件
const db = require('./db/db')
// 导入userModel模块
const userModel = require('./model/userModel')
// 3:调用函数(参数1为成功回调,参数2为失败回调)
db(() => {console.log('index.js中的连接成功');// 6: 新增userModel.create({name: '沈七',age: 108,sex: '男'}, function (err, data){// err 判断是否有错误if (err) {console.log(err)return;} console.log(data);})
}, () => {console.log('连接失败');
})

4.代码实际演示和注意点

在这里插入图片描述

http://www.khdw.cn/news/23879.html

相关文章:

  • 做展示型网站便宜吗seo关键词优化工具
  • wordpress 文章系列插件广州seo网站推广公司
  • 带seo服务的网站定制性价比高seo的排名优化
  • 有什么网站可以做设计兼职网络营销策略优化
  • wordpress代码安装畅言石家庄seo优化
  • 网站程序开发如何成为百度广告代理商
  • 学会网站建设三方协议网站推广的四个阶段
  • 市场营销策划方案汕尾网站seo
  • 那里可以做网站的吗html家乡网站设计
  • 建网站外包公司2345网址导航是病毒吗
  • u盘做网站网上推销产品去什么平台
  • b2c电子商务网站大全做seo推广公司
  • 网站做滚动图片免费入驻的跨境电商平台
  • 做网站托管推广赚佣金的软件排名
  • 制作网站联系方式长沙seo计费管理
  • 网站开发助理做什么淘宝如何刷关键词增加权重
  • 可以做微信推送的网站舆情分析报告模板
  • 免费游戏源码优化大师
  • 龙岩网站建设亿网行广告公司接单软件
  • 如何做网站营销百度seo关键词优化市场
  • 网站建设SEO优化网页制作素材模板
  • 做推广的网站带宽需要多少合适谷歌搜索引擎免费入口 台湾
  • 网站面包屑怎么做aso优化的主要内容
  • 如何自制网站站长工具网站测速
  • 自己怎么建立个人网站推广平台哪个效果最好
  • 最专业的做音乐网站品牌营销策略包括哪些内容
  • wordpress国外vps纯手工seo公司
  • 用什么软件做介绍视频网站网络销售
  • 织梦影视网站源码国内做seo最好公司
  • 推荐网站建设品牌最近的新闻摘抄