node.js MongoDBデータをMySQLのステップに同期する


前言
最近は業務のため、APPのバックグラウンドでMongoDBのデータをJavaのバックグラウンドのMySQLに同期させ、MySQLの中で計算されたデータをMongoDBデータベースに同期させる必要があります。
この過程は見ても煩雑ですが、実はこれはお互いに表を書く過程です。
次にnode.jsを見て、MongoDBのデータをMySQLデータベースに大量に挿入する実現過程を見ます。話が多くないので、詳しく紹介してみましょう。
環境
  • node.js
  • MongoDB
  • MySQL
  • npm
  • 必要なモジュール
  • モングース
  • MySQL
  • MongoDBのデータを準備します。
  • 例えば、私が同期したいのはユーザーテーブルで、ユーザーテーブルにはusername、email、password…
  • が含まれています。
  • MongoDB shellコマンドで1000件のデータを挿入する
  • 実現する
    monode.jsはMongoDBとMySQLのpoolを接続して下を見ます。
    node.js接続MongoDB:https://www.jb51.net/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
      });  
     });
     }
    });
    締め括りをつける
    以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考となる学習価値を持っています。質問があれば、メッセージを書いて交流してください。ありがとうございます。