MongoDB

From air
Jump to navigation Jump to search

SBGD NoSQL

Liens:

Exemples de lignes de commande Shell

Lancez le serveur

./bin/mongod --rest --dbpath ./data/db

""Remarque"" : en production, ajoutez les options ./bin/mongod --nohttpinterface --bing_ip <address> --auth --logappend ... --dbpath ./data/db

Ouvrez les pages d'administration via le serveur HTTP et l'interface REST

Lancez le shell

./bin/mongo

Quelques commandes d'administration


// Quelques commandes d'administration
help

db.help()

db.version()

db.stats()

db.serverStatus()

db.currentOp()

db.killOp(1234)

prompt=function() { return (new Date())+"$ "; }

db.getLastError()

// db.serverCmdLinesOpts() n'existe plus

db.shutdownServer()

Relancez le serveur mongod


//	show dbs                     show database names
show dbs

//	show collections             show collections in current database
show collections

//	show users                   show users in current database
show users

//	show profile                 show most recent system.profile entries with time >= 1ms
show profile

//	show logs                    show the accessible logger names
show logs

//	show log [name]              prints out the last segment of log in memor
show log global

use test

db.test.getIndexes()

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

Utilisation de l'interface RESTFul

http://127.0.0.1:28017/test/test

curl -GET http://127.0.0.1:28017/test/test

Utilisation avec Node.js et Mongoose

Voir Mongoose

Utilisation avec Node-RED

TODO