ホームページ  >  記事  >  ウェブフロントエンド  >  Node.js で MongoDB データを MySQL に同期する方法

Node.js で MongoDB データを MySQL に同期する方法

亚连
亚连オリジナル
2018-06-21 17:07:021080ブラウズ

この記事では、主に、MongoDB データを MySQL に同期する Node.js に関する関連情報を、サンプル コードを通じて詳細に紹介します。この記事は、学習や仕事に役立つ情報を提供します。必要な方はフォローしてください。そして一緒に学びましょう。

はじめに

最近、ビジネス ニーズにより、APP バックエンドは MongoDB のデータを Java バックエンドの MySQL に同期し、次に MySQL の計算されたデータを MongoDB データベースに同期する必要があります。

このプロセスは非常に面倒に思えますが、実際には相互にリストを書き込むプロセスです。

次に、node.jsを使用してMongoDBからMySQLデータベースにデータを一括挿入する実装プロセスを見てみましょう。多くを語る必要はありません。詳細な紹介を見てみましょう。

環境

  • node.js

  • MongoDB

  • MySQL

  • npm

必要なモジュール

  • mongoose

  • MySQL

MongoDB でデータを準備します

  • 例: ここで同期したいのは、ユーザー名、メールアドレス、パスワード...を含むユーザーテーブルです

  • MongoDB シェルコマンドを介して挿入します1000 個のデータ

ここでは実装された mongoose のスキーマは書きません。MongoDB と MySQL プールへの node.js 接続は次のとおりです。

node.js 接続 MongoDB:

//www.jb51.net/article/98813.htm

Nodejs mysql プールの使用例:

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 に挿入します。 rreee 以上が皆さんのためにまとめたもので、今後皆さんのお役に立てれば幸いです。

関連記事:

Angular2でtsファイルのブレークポイントデバッグを実装する方法

vue-routerでルートの遅延読み込みを実装する方法

JS+canvasを使用して円錐を作成する方法

JSソートアルゴリズムについてまとめ

以上がNode.js で MongoDB データを MySQL に同期する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。