vue3+node+koa项目浅记

目录

  • vue3+node+koa项目浅记
  • 一、跨域问题
  • 二、datagrip连接mongodb数据库不能手动增删改数据
  • 三、mongoose新增数据报错
  • 四、在同一局域网下,手机不能访问本地启动的项目


vue3+node+koa项目浅记

记录一下项目过程中遇到的问题吧。项目是自个本地开发的,使用的是vue3+node+koa2+mongoose,mongdb数据库是在docker安装的,并通过datagrip管理的。

一、跨域问题

问题:前端请求接口报错,Access to XMLHttpRequest at ‘…’ from origin ‘…’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.。

解决:下载koa2-cors,cors()中还可以进行相关配置

var cors = require('koa2-cors');
app.use(cors());

二、datagrip连接mongodb数据库不能手动增删改数据

问题:当我手动操作数据库时会提示 the view is read only,但是调用接口通过数据库命令操作就可行,所以排除了数据库用户权限的问题。

解决:当时下载的datagrip版本不支持mongodb数据库的手动改数据的操作,更新了版本就行了。

三、mongoose新增数据报错

问题:新增数据报错

try {
    const result = await testM.insertMany(param)
    ctx.body = {
      code: 200,
      msg: "添加成功"
    }
  } catch (error) {
    // console.log(error) // 此处建议放开,可查看到具体问题
    ctx.body = {
      code: 400,
      msg: "添加失败"
    }
  }

解决:定义数据库的Schema时,指定某字段为Number类型,后开发前端调用接口时,考虑到使用string类型更好,未对应修改后端代码,所以报错。

四、在同一局域网下,手机不能访问本地启动的项目

问题:本地启动的项目,在电脑的浏览器能正常访问,但是手机不行(连接的同一wifi)
解决:找了很多文章,大多说的是需要关闭防火墙,但是想起在公司开发时就不需要,后发现是连接wifi时的属性分为公用和专用网络,设置为专用网络就可以了
vue3+node+koa项目浅记_第1张图片

你可能感兴趣的:(mongodb)