Maison  >  Article  >  interface Web  >  Comment synchroniser les données MongoDB avec MySQL dans node.js

Comment synchroniser les données MongoDB avec MySQL dans node.js

亚连
亚连original
2018-06-21 17:07:021080parcourir

Cet article vous présente principalement les informations pertinentes sur la synchronisation des données MongoDB avec MySQL. L'article le présente en détail à travers un exemple de code. Il a une certaine valeur d'apprentissage de référence pour les amis qui en ont besoin. étudiez ensemble ci-dessous.

Avant-propos

Récemment, en raison des besoins de l'entreprise, le backend de l'APP doit synchroniser les données de MongoDB avec MySQL dans le backend Java, et puis synchronisez les données calculées dans MySQL avec la base de données MongoDB.

Ce processus semble très lourd, mais en fait il s'agit d'un processus d'écriture de listes les uns pour les autres.

Ensuite, examinons le processus d'implémentation de node.js insérant des données de MongoDB dans la base de données MySQL par lots. Pas grand chose à dire, jetons un œil à l’introduction détaillée.

Environnement

  • node.js

  • MongoDB

  • MySQL

  • npm

Modules requis

  • mangouste

  • MySQL

Préparer les données dans MongoDB

  • Par exemple : Ce que je souhaite synchroniser ici, c'est la table des utilisateurs, qui contient le nom d'utilisateur, l'e-mail, le mot de passe...

  • Insérez 1000 éléments de données via la commande shell MongoDB

Je ne connais pas le schéma mangouste ici, je l'ai écrit, vous pouvez le vérifier en ligne. La connexion node.js au pool MongoDB et MySQL est la suivante :

Connexion node.js à MongoDB :

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

Exemple d'utilisation du pool mysql Nodejs :

le module mysql est felixge/node-mysqlLe code source est le suivant :

Le code clé ci-dessous

/**
* 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;
Idée :

Interrogez d'abord les données de MongoDB, puis insérez-les dans MySQL via traversée.

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles connexes :
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 (&#39;" + username + "&#39;,&#39;" + email + "&#39;,&#39;" + password + "&#39;);";
 pool.query(sql,(err, rows) => {
  if (err)
  res.send(err); 

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

Comment implémenter le débogage des points d'arrêt des fichiers ts dans Angular2

Comment implémenter le chargement paresseux des routes dans vue- routeur

Comment créer un cône en utilisant JS+canvas

Résumé de l'algorithme de tri JS

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn