Mock 在node.js中的使用&通过node.js把Mock生成的数据塞进MongoDB

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时就代表数据生成成功,再来看一下数据库
在这里插入图片描述
生成成功!!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mock.js可以动态生成各种类型的数据,包括数字、字符串、布尔值、数组、对象等等。以下是使用Mock.js来mock动态生成数据的步骤: 1. 安装Mock.js 可以通过npm安装Mock.js,命令如下: ``` npm install mockjs ``` 也可以在HTML文件直接引用Mock.js的CDN链接: ``` <script src="https://cdn.bootcdn.net/ajax/libs/Mock.js/1.0.1-beta3/mock-min.js"></script> ``` 2. 定义Mock数据模板 Mock.js的核心是数据模板,它是一个JavaScript对象,用来描述Mock数据的结构和类型。例如,以下是一个简单的Mock数据模板: ``` var data = { name: '@cname', // 随机生成文名字 age: '@integer(18, 60)', // 随机生成18到60之间的整数 gender: '@boolean', // 随机生成布尔值 hobbies: ['@word', '@word', '@word'] // 随机生成三个英文单词组成的数组 }; ``` 3. 使用Mock数据模板生成Mock数据 使用Mock.js的`Mock.mock()`方法可以根据数据模板生成Mock数据,例如: ``` var mockData = Mock.mock(data); ``` `mockData`就是根据`data`模板生成Mock数据。 4. 使用Mock数据 生成Mock数据后,可以将其用于测试、演示或其他目的。例如,将Mock数据渲染到页面: ``` document.getElementById('name').innerHTML = mockData.name; document.getElementById('age').innerHTML = mockData.age; document.getElementById('gender').innerHTML = mockData.gender ? '男' : '女'; document.getElementById('hobbies').innerHTML = mockData.hobbies.join(', '); ``` 以上就是使用Mock.js来mock动态生成数据的基本步骤。Mock.js还支持更多高级功能,例如数据占位符、数据生成规则、拦截Ajax请求等等,可以根据需要进行学习和使用
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值