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

网站开发报价合同网站布局优化策略

网站开发报价合同,网站布局优化策略,返利商城网站怎么做,广州网站建设哪家技术好在Vue中配置MongoDB的增删改查操作#xff0c;需要先安装mongoose模块来连接MongoDB数据库。 1. 在Vue项目的根目录中#xff0c;使用命令行安装mongoose模块#xff1a; npm install mongoose --save 2. 找到启动node的app.js文件#xff08;我这里是在server文件中需要先安装mongoose模块来连接MongoDB数据库。 1. 在Vue项目的根目录中使用命令行安装mongoose模块 npm install mongoose --save 2. 找到启动node的app.js文件我这里是在server文件中就是第三步中说的server文件 const express require(express) const app express() const mongoose require(mongoose); var config require(./config);//引入config中mongoDB地址// 解析 url-encoded格式的表单数据 app.use(express.urlencoded({ extended: false }));// 解析json格式的表单数据 app.use(express.json());var articlerequire(./routes/article); app.use(/article, article);var dbmongoose.connect(config.db.path, {useNewUrlParser: true,useUnifiedTopology: true }) db.then(function (data) {console.log(--数据库连接成功--);}).catch(function (error) {console.log(数据库连接失败 error); });module.exports app 在上面的代码中mongoose.connect用于连接MongoDB数据库  我这里的config.db.path,是地址配置的也可以直接将地址写进去 const url mongodb://localhost:27017/mydatabase; var dbmongoose.connect(url, {useNewUrlParser: true,useUnifiedTopology: true }) 3. 在Vue项目的根目录中新建一个server文件server文件下新建文件config在config中新建db.js文件 const mongoose require(mongoose); let Promise require(bluebird);// 定义数据模型 const ArticleSchema new mongoose.Schema({article_title:String, //标题article_desc:String, //简介article_info:String, //内容createdAt: { //创建日期type: Date,default: Date.now}}); //mongoose.model三个参数分别代表模型的名称、模型的Schema、模型的集合名称 const ArticleModel mongoose.model(Article, ArticleSchema); Promise.promisifyAll(ArticleModel); Promise.promisifyAll(ArticleModel.prototype); module.exports ArticleModel mongoose.connection用于获取数据库连接对象。然后使用mongoose.Schema定义Article的数据模型并使用mongoose.model创建Article模型。(这里的数据模型就是你页面数据的字段)。 4. 在serverroutes文件中新建article.js var express require(express); var articleRouter express.Router(); var ArticleModel require(../db); //查询 articleRouter.get(/:id, (req, res) {const articleId req.params.id;if (!articleId) {return {err_code: -2,err_msg: no id};}ArticleModel.findOne({_id: articleId}).then(response {res.send({err_code: 0,data: response});}).catch(err {console.log(err);res.send({err_code: -1,err_msg: server error});}); }); // 获取列表 articleRouter.get(/, (req, res) {let page req.query.page,size req.query.size,store req.query.store;page parseInt(page, 10) || 1;size parseInt(size, 10) || 100;let skip (page - 1) * size;let sort -createAt;let data {};Promise.all([//Articletype 集合的数据 find 指定的查询条件 sort 排序规则 skip跳过指定数量的记录用于分页查询 limit 返回的数据为指定的size exec查询操作并返回记录ArticleModel.find(data).sort(sort).skip(skip).limit(size).exec(),ArticleModel.count(data)]).then(([data, count]) {res.send({data: data,total: count,err_code: 0});}).catch(err {console.log(err);res.send({err_code: -2});}); }); // 新增列表 articleRouter.post(/, (req, res) {var articleBodyreq.bodylet data {article_url: articleBody.article_url};//先检查是否有已经创建的数据ArticleModel.find(articleBody).then(datas {use strict;if (datas.length 0) {res.send({err_code: -1,err_msg: 资源已存在});return;}ArticleModel.create(articleBody).then(response {res.send({err_code: 0,err_msg: 保存成功});}).catch(res {res.send({err_code: -2,err_msg: 保存失败});});}); }); // 删除 articleRouter.delete(/:id, (req, res) {const articleId req.params.id;if (!articleId) {return res.send({err_code: -1,err_msg: 缺少ID});}//mongoDB已经弃用remove使用deleteOne 删除单个文档或者deleteMany 删除多个文档ArticleModel.deleteOne({_id: articleId}).then(response {res.send({err_code: 0});}).catch(err {res.send({err_code: -2,err_msg: 删除失败});}); }); // 修改 articleRouter.put(/, (req, res) {const articleBody req.body;const articleId req.body.id;console.log(req.body)if (!articleId) {return res.send({err_code: -1,err_msg: 缺少id});}ArticleModel.findOneAndUpdate({_id: articleId}, {$set: articleBody}).then(response {res.send({err_code: 0,});}).catch(err {console.log(err);res.send({err_code: -2,err_msg: 数据库错误});}); }); module.exports articleRouter 这里遇到最不好找的问题就是Mongoose更新会弃用一些方法例如删除remove就会报错ArticleModel.remove is not a function网上找一下mongoose推荐使用的方法这里remove更推荐使用deleteOne或deleteMany方法取决于你想要删除单个文档还是多个文档。你可以替换remove方法为deleteOne或deleteMany来解决这个问题。  5. 页面中调用 例子 查询列表 import axios from axios dexport default{mounted():{axios.get(/article, {params}).then(res {console.log(res)//查看是否调用成功});} } 删除 axios.delete(/article/${id}).then(res{console.log(res.data)if(res.data.err_code0){this.$message({message: 删除成功,type: success})this.initList()}else{this.$message({type: error,message: res.data.err_msg});}}) 6. 请求接口的时候可能会报这个错误 给MongoDB设置了数据库访问权限所以无论是 打开mongodb和连接去掉账号密码 都是显示数据库报错   所以无论运行node app.js 都是需要权限 才能成功的运用 在数据库连接的前面加上用户名和密码root:root后面加上 authSourceadmin  通过admin库进行登录认证 mongodb://admin:123localhost:27017/mydatabase?authSourceadmin  如下图所示
http://www.zqtcl.cn/news/492152/

相关文章:

  • 自己做企业网站在哪学习建网站
  • 门户网站建设 突出服务学习电子商务网站建设与管理的收获
  • 做网站排名大概要多少免费做个人网站
  • 哈尔滨网站建设效果wordpress主题 手机app
  • 收录网站源码海外域名怎么打开
  • 荥阳网站建设上海十大营销策划公司
  • 在网站挂广告一个月多少钱巫溪网站建设
  • 网站备案名称的影响吗济南网站建设招聘
  • 南城区网站建设公司y2学年做的租房网站
  • 温州网站建设咨询网站源码下载后怎么布置
  • 邢台网站推广wordpress文章数据库位置
  • wordpress 快站wordpress 安装主题 主机名
  • 老网站改版启用二级域名网站建设服务是什么意思
  • 网站建设营销话术外销网站
  • 找个人给我做电影网站好主题网站开发介绍
  • 运城公司网站建设苏州网站建设苏州
  • 湖北省住房和建设厅网站首页网站用免费空间好不好
  • 网站建设公司案例做网站小图标大全
  • 美食网站主页怎么做网络营销推广的作用
  • 上海建站价格wordpress表白系统
  • 唐山 建设工程信息网站中天钢铁 网站建设
  • 公司没有备案了网站摄影素材网站
  • 正规的网店平台有哪些北京公司排名seo
  • 网页制作素材库哪个网站上海门户网站开发
  • 做网站 分辨率应该是多少做阿里巴巴网站要多少钱
  • 有专业做外贸的网站吗千岛湖网站建设
  • 百度怎么做开锁网站中国咖啡网站建设方案
  • 新网站不被收录郑州网站建设培训学校
  • 网站群建设意见征集北京做网站报价
  • 网站建设开发费会计处理山东省住房和城乡建设厅二建查询