Node.js Mysql

Ich muß einen recht großen Haufen Daten von einer Mysqldatenbank nach Mongodb schaufeln. Das ganze spielt in der Kommandozeile.

app.js

var mysql = require('mysql');
 
config=require('./config').production;
 
var connection = mysql.createConnection({
    host : config.mysqlHost,
    port : config.mysqlPort,
    database: config.mysqlDatabase,
    user : config.mysqlUser,
    password : config.mysqlPassword
});
 
 
connection.connect(function(err){
	if(err != null) {
		console.log(err);
	}
	connection.query("SELECT * from  feeds", function(err, rows){
	if(err != null) {
		console.log("Problem with Query "  +err);    
	} else {
	    // Shows the result on console window
	    console.log(rows[0]);
 
 
	    connection.end();
 
	}
 
	});
 
});

package.json

{
  "name": "node-mysqltest",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app"
  },
  "dependencies": {
 
    "mysql" : "*"
  }
}

config.js

var config ={};
 
config.development = {
 
};
 
config.production = {
 
 
  mysqlPort:3306,
  mysqlHost:'localhost',
  mysqlDatabase:'<DB>',
  mysqlUser: '<USR>',
  mysqlPassword:  '<PWD>',
 
  env : global.process.env.NODE_ENV || 'production'
};
 
 
module.exports  = config;

Node.js Notizen & Mongodb – Konfiguration + Tools

Im Moment schaue ich mir Node.js und Mongodb. Hier sammle ich für mich nützliche Informationen bzgl. der Einrichtung und Konfiguration.
Der Webspace kommt von Uberspace, entsprechend sind ein Paar Links in das ordentlich geschriebene Wiki von denen drin.

1. Einrichtung Uberspace

Anweisungen im Wiki folgen

Subdomain

Node Applikation auf Port 80 weiterleiten:

[schmimi@ara node.radikalblogger.de]$ cat .htaccess
RewriteEngine On
RewriteRule (.*) http://localhost:61667/$1 [P]

2. NPM konfigurieren

cat >  ~/.npmrc >> __EOF__
prefix = $HOME
umask = 077
__EOF__

 

3. Watch for Filechanges

Sehr praktisch zum entwickeln ist Supervisor

npm install supervisor -g
#Nun das Script mit dem Befehl supervisor starten.
[schmimi@ara ~]$ supervisor node/example.js

4. Node.js Tutorials

5. Mongo DB konfigurieren

Anleitung im Uberspace Wiki
Mongodb Handbuch

User und Datenbank anlegen

[schmimi4@octans nodejs]$ mongo admin --port 20522 -u schmimi4_mongoadmin -p
MongoDB shell version: 2.4.8
Enter password: 
connecting to: 127.0.0.1:20522/admin
> use node-mongo-blog
switched to db node-mongo-blog
use products
db.addUser( { user: "Alice",
              pwd: "Moon1234",
              roles: [ "readWrite", "dbAdmin" ]
            } )
> quit

Verbindung testen

mongo node-mongo-blog --port 20522 -u mongoblog -p

Datenbank löschen

> use mydb; 
> db.dropDatabase();

Ein (aus Anfängersicht) brauchbares Webinterface um mit der Datenbank rumzumachen scheint RockMongo zu sein. Konfiguration problemlos.

6. Auf Produktivbetriebumstellen

Interessanter Blogartikel

[schm@bla blog]export NODE_ENV=production