美文网首页
egg-mongoose 增删改查

egg-mongoose 增删改查

作者: GaoEnron | 来源:发表于2019-12-05 15:48 被阅读0次

    egg 基本框架的搭建

    egg.js官网

    一、egg.js 添加 egg-mongoose 插件

    1. 在plugin.js中开启插件

    /** @type Egg.EggPlugin */
    module.exports = {
      // 安装的数据库操作
      mongoose: {
        enable: true,
        package: 'egg-mongoose',
      },
    };
    

    2. 在config.default.js 中添加mongoose相应的配置操作

    // 配置相应的数据库()
      config.mongoose = {
        client: {
            // 'mongodb://127.0.0.1/eggxiaomi',
          url: 'mongodb://localhost:27017/statistics',
            options: {
                useUnifiedTopology: true,
            }
        },
      };
    

    二、egg-mongoose具体的使用

    1. 需要在app目录下建立 model 目录

    目录结构
    2. 在model目录下面建立对应的存储类
    -  required: ```true```, 表示这个值是否是唯一
    - type: ```String``` 表示数据的类型
    
    type 包含的数据类型
    数据类型 含义
    Number 数字
    String 数字
    Boolean 布尔值
    ObjectId 对象ID
    Array 数组
    Object 对象
    Date 日期

    创建相应 Event 对应存储实体Model

    mongoose.model('Event', schema);  
    
    module.exports = app => {
      const mongoose = app.mongoose;
      const Schema = mongoose.Schema;
      const schema = new Schema({
        deviceId: {
          type: String,
          required: true,
        },
    
        statisticTime: {
          type: Date,
          required: false,
        },
        statisticType: {
          type: String,
          required: true,
        },
        // 语言类型
        page_name: {
          type: String,
          required: false,
        },
        // 页面的ID
        page_id: {
          type: String,
          required: true,
        },
        // Mac 地址
        page_start_time: {
          type: Date,
          required: false,
        },
        // 设备所处的平台
        page_end_time: {
          type: Date,
          require: false,
        },
        // refere_page_id
        referer_page_id: {
          type: String,
          require: false,
        },
      });
      //
      return mongoose.model('Event', schema);
    };
    

    3. 插入数据操作

    1. 存储单条数据
    const result = ctx.model.Infor.create({ deviceDensity, deviceId, deviceLocale, deviceMacAddr,
            deviceModel, systemOsVersion, devicePlatform, appChannel , appVersion, ipAddress, wifi});
    
    1. 存储多条数据
    const dataArray = [];
    dataArray.push({ deviceDensity, deviceId, deviceLocale, deviceMacAddr,
            deviceModel, systemOsVersion, devicePlatform, appChannel , appVersion, ipAddress, wifi})
    const result = ctx.model.Infor.create(dataArray);
    

    相关文章

      网友评论

          本文标题:egg-mongoose 增删改查

          本文链接:https://www.haomeiwen.com/subject/rmmdgctx.html