Mongodb是一種非常流行的文檔型數(shù)據(jù)庫(kù),它在處理大量非結(jié)構(gòu)化數(shù)據(jù)時(shí)非常高效。但是有些時(shí)候我們需要將Mongodb轉(zhuǎn)換成關(guān)系型數(shù)據(jù)庫(kù),比如MySQL,以便于管理數(shù)據(jù)。下面是一個(gè)Mongodb轉(zhuǎn)MySQL的代碼實(shí)例:
var MongoClient = require('mongodb').MongoClient; var url = "mongodb://127.0.0.1:27017/mydb"; MongoClient.connect(url, function(err, db) { if (err) throw err; db.collection("customers").find({}).toArray(function(err, result) { if (err) throw err; var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "mydb" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table created"); var values = []; for(var i=0; i<result.length; i++){ values.push([result[i].name, result[i].address]); } var sql = "INSERT INTO customers (name, address) VALUES ?"; con.query(sql, [values], function (err, result) { if (err) throw err; console.log("Number of records inserted: " + result.affectedRows); con.end(); }); }); }); db.close(); }); });
這個(gè)代碼實(shí)例將連接MongoDB 'mydb'數(shù)據(jù)庫(kù)中名為'customers'的集合,并將其轉(zhuǎn)換為一個(gè)MySQL數(shù)據(jù)庫(kù)。可以看到,我們首先建立了Mongodb的連接,在使用toArray()方法獲取數(shù)據(jù)后,我們創(chuàng)建了MySQL連接。然后,我們?cè)贛ySQL中建立了一個(gè)名為'customers'的表,并將獲取的數(shù)據(jù)插入到表中。