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 相关文章推荐
脚本安需导入(装载)的三种模式的对比
Jun 24 Javascript
jquery select 设置默认选中的示例代码
Feb 07 Javascript
js怎么覆盖原有方法实现重写
Sep 04 Javascript
jQuery DOM删除节点操作指南
Mar 03 Javascript
javascript清空table表格的方法
May 14 Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
js 求时间差的实现代码
Apr 26 Javascript
javascript滚轮事件基础实例讲解(37)
Feb 14 Javascript
javascript简单写的判断电话号码实例
May 24 Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
详解angularjs跨页面传参遇到的一些问题
Nov 01 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 数组的指针操作实现代码
2011/02/08 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
php实现微信扫码支付
2017/03/26 PHP
PHP中“=&gt;
2019/03/01 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
代码分析Python地图坐标转换
2018/02/08 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
浅谈Python 递归算法指归
2019/08/22 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
python连接mysql有哪些方法
2020/06/24 Python
导致python中import错误的原因是什么
2020/07/01 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
志愿者活动总结范文
2014/04/26 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
心理咨询承诺书
2014/05/20 职场文书
广播节目策划方案
2014/05/23 职场文书
朋友聚会祝酒词
2015/08/10 职场文书