Академический Документы
Профессиональный Документы
Культура Документы
Un peu dhistoire
Initialement dvelopp par 10gen en 2007
10gen rebaptis en 2013 MongoDB, Inc.
Son nom vient de "humongous" (cest norme
!!)
Mis en open source en 2009
Dernire version stable (3.0.2) Avril 2015
10/05/2015
Caractristiques (I)
Stockage/rcupration des donnes sous forme de
documents Document (format BSON: Binary JSON)
JSON partout, y compris dans les requtes
Gestion des Index riche et complte
Tout comme dans un SGBDR
Trs efficace (B-Tree)
Puissant langage de requte ( mais ce n'est pas du
SQL)
Rplication et haute disponibilit
Architecture Map/Reduce intgre
Caractristiques (II)
Auto-Sharding (scaling horizontal)
Les collections volumineuses peuvent tre divises et
distribues sur plusieurs shards (eux-mmes situs
sur plusieurs machines). Auto-balancing intgr.
Mises jour des donnes trs rapides
Oprations de mises jour atomiques
Mises jour "in place"
Et aussi: facile installer, trs bonne documentation,
large communaut d'utilisateurs,
10/05/2015
http://www.mongodb.org/about/production-deployments/
10/05/2015
10/05/2015
MongoDB
MongoDB
10/05/2015
MongoDB:
{"firstname" : "John", "lastname" : "Doe", "widgets": 5}
ou
{"firstname" : "John", "lastname" : "Doe", "widgets" : "five"}
ou
{"firstname" : "John", "lastname" : "Doe", "widgets" : 5, "foo" :
"bar"}
10/05/2015
{
_id: ObjectId(7df78ad8902c)
title: 'Prsentation de MongoDB',
description: 'MongoDB une base de donnes NoSQL',
post_by: 'ILEM Group',
url: 'http://www.ilemgroup.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 6,
comments: [
10/05/2015
by_user:'p.martin@gmail.com',
message: 'Bon post mais je prfre MySQL',
date_time: new Date(2014,1,20,2,15),
likes: 1
},
{ by_user:'r.dubois@yahoo.com',
message: 'Trs intressant, merci !',
date_time : new Date(2014,1,25,7,45),
likes: 5
}
]
}
2.
10/05/2015
10/05/2015
10
10/05/2015
11
10/05/2015
Plus classiques:
db.skieurs.update(
{ nom: "Tomba"},
{$set: {age: 49}});
db.skieurs.update({ age:{$gt: 65}},
{$set: {cat: "Veterans-3" }});
12
10/05/2015
avec oprateurs
db.skieurs.find({prenom:"Franz",
age: {$gte: 36}});
db.skieurs.find({age: {$in: [36, 47, 52]}});
13
10/05/2015
14
10/05/2015
Read
db.collection.find( <query>, <projection> )
db.collection.findOne( <query>, <projection> )
Update
db.collection.update( <query>, <update>,
<options> )
Delete
db.collection.remove( <query>, <justOne> )
15
10/05/2015
16
10/05/2015
17
10/05/2015
18
10/05/2015
19
10/05/2015
20
10/05/2015
21
10/05/2015
22