MongoDB

SBGD NoSQL
 * écrit en C++
 * tolérance aux pannes par réplication (sharding)
 * shell Javascript (plus ...)
 * stockage native des objets JSON
 * support de persistance pour les programmes Node.js (plus ... et Mongoose)

Liens:
 * http://www.mongodb.org/
 * DZone's MongoDB refcard
 * Correspondances avec SQL http://docs.mongodb.org/manual/reference/sql-comparison/

Exemples de lignes de commande Shell
./bin/mongod --dbpath ./data/db

./bin/mongo

use test

db.test.findAll;

// ajout d'un objet db.test.save( {   firstname : "Didier",    lastname : "Donsez",    job : "Professor",    skill : ["SE","OSGi"], } )

db.test.findAll;

// ajout d'un objet db.test.save( {   firstname : "Olivier",    lastname : "Richard",    job : "Professor",    skill : ["Network","Grid"],    hobbies: ["3D printing", "DIY"], } )

db.test.findAll;

// ajout d'un objet db.test.save( {   firstname : "Nicolas",    lastname : "Palix",    job : "Professor",    skill : ["OS","Phycomp"],    address: "Saint Martin d'Hères", } )

db.test.findAll;

// rechercher 2 objets db.test.find.limit(2)

// rechercher un objet db.test.findOne

// rechercher les objets dont le champ firstname = "Didier" db.test.find( { firstname : "Didier" } )

// rechercher les objets dont le champ hobbies n'est pas null db.test.find( { hobbies : { $ne : null } } )

// script de modification des champs "address" db.test.find( { address: {$ne : null}}).forEach(    function update(e) {        var address = e.address;        e.address = new Object;        e.address.way = address;        e.address.city = "";        db.test.save(e);    } )

exit

./bin/mongostat