Table Des Matières

Introduction

Ce tutoriel montre comment utiliser Node.js pour se connecter à une base de données MongoDB et effectuer certaines manipulations de données de base.

Pour ce faire, les éléments suivants seront utilisés:

  • MongoDB v2.4.4
  • Node.js v0.10.5
  • MongoDB Node.js driver

MongoDb

« MongoDb est une base de données open source orientée documents qui offre une haute performance, une haute disponibilité et une évolutivité facile »

Vérifions que le processus MongoDB est en cours:

$ps -ef | grep mongo

La sortie devrait ressembler à quelque chose comme ceci:


mongodb 13071 0 02:27 ? 00:00:01 /usr/bin/mongod --config /etc/mongodb.conf

Si elle ne fonctionne pas, émettez la commande suivante à partir du répertoire bin de MongoDb


$./mongod

Il existe un client de console fourni avec MongoDb, vous pouvez le trouver dans le répertoire MongoDB bin. Utilisez ce client pour vous familiariser avec MongoDB


$cd YOUR_MONGODB_INSTALL_DIR/bin
$./mongo

Vous verrez une sortie comme ceci (vous pouvez ignorer les avertissements):


MongoDB shell version: 2.4.4
connecting to: test
Server has startup warnings:
Mon Oct  7 20:40:35.209 [initandlisten]
Mon Oct  7 20:40:35.209 [initandlisten] ** WARNING: soft rlimits too low. 
Number of files is 256, should be at least 1000

Exécutez cette commande pour lister les bases de données existantes:


show dbs

Si c’est la première fois que vous utilisez MongoDB, vous ne verrez qu’une seule ligne pour la base de données « test ».

Exécutez la commande suivante pour passer à la base de données « test » et afficher les collections qu’il contient:


use test
show collections

Here is a list of commands that you can use in the console client, you can get the full list of commands by typing « help »:


show dbs #show database names
show collections #show collections in current database
show users # show users in current database
show profile # show most recent system.profile entries with time >= 1ms
show logs # show the accessible logger names
show log [name] # prints out the last segment of log in memory, 'global' is default
use # set current database
db.foo.find() # list objects in collection foo
db.foo.find( { a : 1 } ) #list objects in foo where a == 1
it #result of the last line evaluated; use to further iterate
exit #quit the mongo shell

Node.js

Node.js est une plate-forme construite sur le runtime du JavaScript de Chrome pour créer facilement des applications réseau rapides et évolutives. Node.js utilise un modèle événementiel non bloquant qui le rend léger et efficace, parfait pour les besoins des applications qui fonctionnent sur des serveurs distribués et qui consomme beaucoup de données.

Vérifions que le processus Node.js est en cours d’exécution:


node -v

Vous devriez voir la version Node.js comme sortie de la commande.

The MongoDB Node.js driver

Ce pilote est le pilote node.js officiellement pris en charge par MongoDB. Il est écrit en version JavaScript pure et fournit une interface Node.js asynchrone native à MongoDB.

Utilisez le gestionnaire de paquetage nœud « npm » pour installer le pilote


npm install mongodb

Si la sortie de l’écran se termine par « npm info ok », cela signifie qu’elle a été installée avec succès.

Connexion à MongoDB et manipulation de données

Ce bloc de code importe le pilote mongodb et se connecte à la base de données


var MongoClient = require('mongodb').MongoClient;
var format = require('util').format;
MongoClient.connect('mongodb://127.0.0.1:27017/test', function (err, db) {
	if (err) {
		throw err;
	} else {
		console.log("successfully connected to the database");
	}
	db.close();
});

Insérez maintenant quelque chose:


var MongoClient = require('mongodb').MongoClient;
var format = require('util').format;
MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) {
	if(err) throw err;
	var collection = db.collection('test_insert'); 
	collection.insert({a:2}, function(err, docs) { 
		collection.count(function(err, count) { 
			console.log(format("count = %s", count)); 
			db.close(); 
		}); 
	}); 
});

Voici le programme en sa totalité


var MongoClient = require('mongodb').MongoClient;
var format = require('util').format;

MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) {
	if(err) throw err;

	var collection = db.collection('test_insert');
	collection.insert({a:2}, function(err, docs) {
		collection.count(function(err, count) {
			console.log(format("count = %s", count));
		});
	});

	// Locate all the entries using find
	collection.find().toArray(function(err, results) {
		console.dir(results);
		// Let's close the db
		db.close();
	});
});

Toutes nos félicitations! Vous avez maintenant la possibilité de connecter, d’insérer et de lire des données de votre base de données MongoDB en utilisant une application Node.js!

Resources

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here