Mock
Mock.js是一个模拟数据生成器,可以帮助前端开发和原型与后端进度分开,并减少一些单调,尤其是在编写自动化测试时。
主要用途:根据数据模板生成模拟数据便于测试。
# 安装
npm install mockjs
//主要介绍mock的一些常用的数据模板 跟多的可以去/Mock
var Mock = require('mockjs');//引入mock
const { students:data } = Mock.mock({
"students|50": [// 属性 students 的值是一个数组,其中含有50个元素,也可以写成1-50随机生成1到50不定个数的元素
{
name: "@cname()",//随机生成一个常见的中文姓名
age: "@integer(20, 30)",//20-30返回一个随机的整数,数字随意更改
gender: "@string('男女', 1)",//在'男女'字符串中随机生成一个
telephone: /^1[0-9]{10}$/, //也可以写正则
address: "@county(true)", //随机生成一个(中国)县。加true:Random.county()// => "上杭县"Random.county(true)// => "甘肃省 白银市 会宁县"
email: "@email()",//随机生成一个email
zip: "@zip()"//随机生成一个邮政编码(六位数字)
}
]
});
console.log(data);//数据已经生成
module.exports = data;//暴露出去在其他地方引用
如何把数据塞进MongoDB
前提条件:
1、已经安装好MongoDB并且可以正常运行,最好也安装好了跟MongoDB配套的可数化工具。
网上有很多安装MongoDB和和配置MongoDB的教程,大家可以自行搜索。
# 安装
npm install mongoose
Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具,相当于驱动。
Mongoose英文文档 建议大家去看英文文档比较靠谱
1、定义一个schema
Mongoose 的一切始于 Schema。每个 schema 都会映射到一个 MongoDB collection ,并定义这个collection里的文档的构成。
var Mock = require('mockjs');
var mongoose = require('mongoose');
// 操作 mongodb 一共有 3 步:
// 1、创建数据结构
var Schema = mongoose.Schema;
var studentsSchema = new Schema({
name: String,
age: String,
gender: String,
iphone: String ,
address: String,
email:String,
zip: String
});
// 2、通过数据结构生成数据模型
// 参数1:模型的名称
// 参数2:模型的结构
// 参数3:模型对应的集合名称
var studentsmodel = mongoose.model('students', studentsSchema,'students');
//mock创建的属性名要与Schema创建的一致,不然有些数据无法生成
const { students:data } = Mock.mock({
"students|50": [ // 属性 students 的值是一个数组,其中含有50个元素,
{
name: "@cname()",//随机生成一个常见的中文姓名
age: "@integer(20, 30)",//20-30返回一个随机的整数
gender: "@string('男女', 1)",
iphone: /^1[0-9]{10}$/,
address: "@county(true)",
email: "@email()",
zip: "@zip()"
}
]
});
// 连接数据库 F70是数据库的名称
// 当这个函数执行的时候,意味着连接完成
// 做数据的操作
mongoose.connect('mongodb://localhost:27017/f70',
{
useNewUrlParser: true,
useUnifiedTopology: true
},
async () => {
// 3、操作数据 使用回调函数来接受异步的返回值
const students = await studentsmodel.create(data);
console.log(students);
}
);
然后node环境下运行一下当前文件,可以看到
当返回有id时就代表数据生成成功,再来看一下数据库
生成成功!!