egg 基本框架的搭建
一、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. 插入数据操作
- 存储单条数据
const result = ctx.model.Infor.create({ deviceDensity, deviceId, deviceLocale, deviceMacAddr,
deviceModel, systemOsVersion, devicePlatform, appChannel , appVersion, ipAddress, wifi});
- 存储多条数据
const dataArray = [];
dataArray.push({ deviceDensity, deviceId, deviceLocale, deviceMacAddr,
deviceModel, systemOsVersion, devicePlatform, appChannel , appVersion, ipAddress, wifi})
const result = ctx.model.Infor.create(dataArray);
网友评论