node.js将MongoDB数据同步到MySQL的步骤


Posted in Javascript onDecember 10, 2017

前言

最近由于业务需要,APP端后台需要将MongoDB中的数据同步到Java端后台的MySQL中,然后又将MySQL中算好的数据,同步到MongoDB数据库。

这个过程看是很繁琐,实际上这就是一个互相写表的过程。

接下来就看看node.js将MongoDB中的数据批量插入到MySQL数据库的实现过程。话不多说了,来一起看看详细的介绍吧。

环境

  • node.js
  • MongoDB
  • MySQL
  • npm

需要的模块

  • mongoose
  • MySQL

准备好MongoDB中的数据

  • 比如说:我这里要同步的是用户表,用户表中包含username,email,password...
  • 通过MongoDB shell命令插入1000条数据

实现

mongoose的Schema我这里就不写了,大家可以上网进行查看,node.js连接MongoDB和MySQL的pool看下面:

node.js连接MongoDB:https://3water.com/article/98813.htm

Nodejs mysql pool使用实例:

mysql模块为felixge/node-mysql

源码如下:

/**
* Created by kevalin on 2015/4/22.
*/
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var conf = require('../config/dbconnection');
//定义pool池
var pool = mysql.createPool(
{
host : conf.dbMysql.host,
user : conf.dbMysql.user,
password : conf.dbMysql.password,
database : conf.dbMysql.database,
port : conf.dbMysql.port
}
);
router.get('/', function(req, res) {
var selectSites = "select *, date_format(do_time, '%Y-%m-%d %H:%i:%s') as time from siteinfo order by id";
pool.getConnection(function(err, connection) {
if (err) throw err;
connection.query(selectSites, function(err, rows) {
if (err) throw err;
res.render('sites', {title : '站点分布', results : rows});
//回收pool
connection.release();
});
});
});
module.exports = router;

下面上关键代码  

思路:

先从MongoDB查询数据然后通过遍历插入MySQL中。

User.find({}, (err, user) => {
 if (err)
 res.send(err);
 for( let i = 0 ; i < family.length ; i ++ ) { 
 console.log("第" + (i + 1) + "条数据");
 let username = user[i].username; 
 let email = user[i].email;
 let password = user[i].password; 
 let sql = "insert into user_table(username, email, password) values ('" + username + "','" + email + "','" + password + "');";
 pool.query(sql,(err, rows) => {
  if (err)
  res.send(err); 

  res.json({
  message:'数据插入成功',
  rows
  });  
 });
 }
});

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
js动态删除div元素基本思路及实现代码
May 08 Javascript
jQuery修改CSS伪元素属性的方法
Jul 30 Javascript
Angular 根据 service 的状态更新 directive
Apr 03 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
Feb 23 Javascript
Vue.Js中的$watch()方法总结
Mar 23 Javascript
详解webpack 如何集成第三方js库
Jun 29 Javascript
JavaScript输出所选择起始与结束日期的方法
Jul 12 Javascript
JS解决position:sticky的兼容性问题的方法
Oct 17 Javascript
javascript数组拍平方法总结
Jan 20 Javascript
浅谈关于vue中scss公用的解决方案
Dec 02 Javascript
如何基于jQuery实现五角星评分
Sep 02 jQuery
es5 类与es6中class的区别小结
Nov 09 Javascript
Node.js中sequelize时区的配置方法
Dec 10 #Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 #Javascript
关于react中组件通信的几种方式详解
Dec 10 #Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 #Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 #Javascript
利用ES6实现单例模式及其应用详解
Dec 09 #Javascript
利用node.js如何创建子进程详解
Dec 09 #Javascript
You might like
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
JS编程小常识很有用
2012/11/26 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
用pycharm开发django项目示例代码
2018/10/24 Python
python3去掉string中的标点符号方法
2019/01/22 Python
python代码中怎么换行
2020/06/17 Python
Python如何对齐字符串
2020/07/30 Python
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
应届毕业生个人自我评价
2013/09/20 职场文书
标准化管理实施方案
2014/02/25 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
保密工作目标责任书
2014/07/28 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
分居协议书范本
2014/11/03 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书