egg-mongoose 增删改查

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 增删改查)