egg3.0连接egg-mongoose插入一条数据、插入多条数据

插入一条数据

app/router.js

'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.get('/', controller.home.index);
  router.get('/role', controller.role.index);
  router.post('/role/add', controller.role.addUser);
  router.post('/roles', controller.rolePost.index);
};

app/model/role.js

module.exports = app => {
  const mongoose = app.mongoose;
  const Schema = mongoose.Schema;
  // 连接数据库,创建Schema(模式)对象
  const UserSchema = new Schema({

    name: { type: String },
    id: { type: String },
  });

  // 通过Schema创建Model,Model 代表的是数据库中的集合,通过Model才能对数据库进行操作
  // 第一个参数模型
  // 第二个参数 数据
  // 第三个参数  操作的数据集合(表)

  // 映射
  return mongoose.model('Role', UserSchema, 'user');

};

app/service/role.js

'use strict';
const Service = require('egg').Service;

class RoleService extends Service {
  async findRoleList() {
    const { ctx } = this;
    try {
      // 説明ctx.model.Role中的Role為model目錄下文件的首字母大写
      const results = await ctx.model.Role.find();
      return results;
    } catch (err) {
      return JSON.stringify(err);
    }
  }

  async addItem() {
    const { ctx } = this;
    try {
      // 説明ctx.model.Role中的Role為model目錄下文件的首字母大写
      let results;
      await ctx.model.Role.create({ name: 'test-SA', id: '20230424112112' }).then(res => {
        console.log('results-pro', res);
        results = true;
      }).catch(err => {
        console.log('results-prm', err);

        results = false;
      });
      return results;
    } catch (err) {
      return JSON.stringify(err);
    }
  }
}
module.exports = RoleService;

app/controller/role.js

'use strict';

const { Controller } = require('egg');

class RoleController extends Controller {
  // 查询数据
  async index() {
    const { ctx } = this;
    const res = await ctx.service.role.findRoleList();
    console.log('res', res);

    ctx.body = res;
  }

  // 添加数据
  async addUser() {
    const { ctx } = this;
    const res = await ctx.service.role.addItem();
    console.log('controller', res);
    ctx.body = {
      code: res ? 0 : 4001,
      msg: res ? 'success' : 'fail',
    };
  }
}

module.exports = RoleController;

在这里插入图片描述

在这里插入图片描述

插入多条数据

 async bitch_add() {
    const { ctx } = this;

    try {
      let results;
      await ctx.model.Role.insertMany([
        {
          name: '木子',
        },
        {
          name: '木子1',
        },
        {
          name: '木子2',
        },
        {
          name: '木子3',
        },
      ]).then(res => {
        console.log('bitch_add', res);
        results = true;
      }).catch(err => {
        results = false;
      });
      return results;
    } catch {
      return JSON.stringify(err);
    }
  }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值