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 相关文章推荐
用javascript编写的第一人称射击游戏
Feb 25 Javascript
javascript之卸载鼠标事件的代码
May 14 Javascript
js查找父节点的简单方法
Jun 28 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
raphael.js绘制中国地图 地图绘制方法
Feb 12 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
Node.js读取文件内容示例
Mar 07 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
inquirer.js一个用户与命令行交互的工具详解
May 18 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
Jul 04 Javascript
微信小程序实现拨打电话功能的示例代码
Jun 28 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
推荐几个开源的微信开发项目
2014/12/28 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
使用Python写CUDA程序的方法
2017/03/27 Python
Python线性回归实战分析
2018/02/01 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
大学生创业感言
2014/01/25 职场文书
竞选部长演讲稿
2014/04/26 职场文书
一体化教学实施方案
2014/05/10 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
文艺晚会开场白
2015/05/29 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
介绍一下28个JS常用数组方法
2022/05/06 Javascript
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android