4. Vantagens de usar um
MongoDB com ODM
• Estrutura de dados simples leitura e escrita.
• Diminuir a complexidade do modelo de informações.
• Orientação a objetos de forma natural à linguagem.
• Free schema, evolução natural dos dados sem (alter tables),
data migrations apenas quando necessário.
• Um Banco de Dados NoSQL não substitui o modelo SQL,
possui suas vantagens e desvantagens, na qual cada um
merece sua aplicação.
• Mineração dos dados com Map/Reduce
6. Orientação a Documentos ?
id nome
Wilson1
Isabella2
table: pessoas
pid telefone
6299889911
1
table: pessoas_telefone
623381700
tipo
c
t
2 629145991 t
N1
Podemos melhorar como nossos dados são
modelados ?
10. Tipos de campos
Nome Características Exemplo
StringField
Armazena caracteres, textos, de
livre marcação
“Hello world"
URLField Armazena URLs
"http://bit.ly/
ItgYlU"
EmailField Armazena emails
“nospam@go
ogle.com.br
IntField
Armazena números inteiros em
32 bits
100
11. Tipos de campos
Nome Características Exemplo
LongField
Armazena Inteiros Longos 64
bits
1000000000L
FloatField
Armazena números com ponto
futuante
2.12
DecimalField Armazena números Decimais 2.10'
BooleanField Armazena um valor booleano True ou False
12. Tipos de campos
Nome Características Exemplo
DateTimeFiel
d
Armazena datas com precisão
de tempo
'2010/10/01
18:30'
ComplexDate
TimeField
Armazena datas com precisão
de milisegundos
YYYY,MM,DD,
HH,MM,SS,N
NNNNN
'
EmbeddedDo
cumentField
Armazena um
EmbeddedDocument de um tipo
especifico
MyEmbedde
dDocument
13. Tipos de campos
Nome Características Exemplo
SortedListFiel
d
Armazena uma listagem de
forma ordenada
[1, 6]
DictField
Armazena um dicionário de
dados
{‘oi’: ‘tudo
bem ?’}
ReferenceFiel
d
Armazena a referencia de um
documento (relacionamentos)
MyOtherDocu
ment
14. Tipos de campos
Nome Características Exemplo
GenericEmbedd
edDocumentFiel
d
Armazena um
EmbeddedDocument Genérico
…
DynamicField Armazena qualquer tipo de dado
..
ListField
Armazena uma listagem baseada
em um tipo de Field [10, 12]
15. Tipos de campos
Nome Características Exemplo
FileField Armazena um arquivo comum …
ImageField Armazena uma Imagem
..
SequenceField
Campo gerador de números
sequenciais 1