9. Modelo de documento
{‘nome’: ‘Thiago Avelino’,
‘empresa’: ‘Mochii’,
‘pais’: ‘Londres’}
Sim é um JSON.
Fácil de trabalhar com esse modelo de
dados na maioria das linguagens de
programação
11. Migrations
É possóvel fazer mudança dinamica em um
documento
{‘nome’: ‘Thiago
Avelino’,
‘empresa’: ‘Mochii’,
‘local’: ‘Londres’}
12. Migrations
É possóvel fazer mudança dinamica em um
documento
{‘nome’: ‘Thiago
Avelino’,
‘empresa’: ‘Mochii’,
‘local’: ‘Londres’}
13. Migrations
É possóvel fazer mudança dinamica em um
documento
{‘nome’: ‘Thiago {‘nome’: ‘Thiago
Avelino’, Avelino’,
‘empresa’: ‘Mochii’, ‘cargo’: ‘engenheiro de
‘local’: ‘Londres’} software’,
‘empresa’: ‘Mochii’,
‘local’: ‘Londres’}
14. Migrations
É possóvel fazer mudança dinamica em um
documento
{‘nome’: ‘Thiago {‘nome’: ‘Thiago
Avelino’, Avelino’,
‘empresa’: ‘Mochii’, ‘cargo’: ‘engenheiro de
‘local’: ‘Londres’} software’,
‘empresa’: ‘Mochii’,
‘local’: ‘Londres’}
Adicionado mais um campo sem mexer em
modelagem
20. Map/Reduce
Exemplo
Salas = [_id, nome]
Reservas = [_id, sala_id, dat
a]
Descobrir o numero da reserva
https://gist.github.com/2782117
21. map = function () {
emit(this.sala_id, [1]);
}
reduce = function (sala, values) {
var sum = 0;
if (values) {
for (var i = 0; i < values.length; i++) {
sum += 1;
}
}
return sum;
}
25. Índice
Índice unico
db.colecao.ensureIndex({nome:
1, sobrenome: 1}, unique: true});
db.colecao.insert({nome:'jane',sobrenome:'doe'}); // ok
db.colecao.insert({nome:'jane',sobrenome:'doe'}); // dup
key
errordb.colecao.insert({nome:'jane',sobrenome:'smith'});
// ok
26. GridFS
Armazenamento de arquivos binários
dentro do MongoDB (Até 4MB)
Maior controle de permissão de acesso;
http://www.mongodb.org/display/DOCS/GridFS
27. GridFS
Armazenamento de arquivos binários
dentro do MongoDB (Até 4MB)
Maior controle de permissão de acesso;
http://www.mongodb.org/display/DOCS/GridFS