Escolar Documentos
Profissional Documentos
Cultura Documentos
db.produto.insert({
nomeProduto: "tablet BOM",
categoria: "tablet",
marca: "B.O.M",
modelo: "deltaK",
polegadas: "10",
sistemaOperacional: "android 6.0",
preco: 789.90,
descricao: "Esse table é o mais vendido no momento"
});
db.produto.insert([
{
nomeProduto: "pen drive 1",
categoria: "pen drive",
marca: "scandisk",
modelo: "xpto",
preco: 32.00,
descricao: "pen drive XPTO #muitoBoa",
detalhe : {capacidade: "32GB"}
},
{
nomeProduto: "tablet BOM",
categoria: "tablet",
marca: "B.O.M",
modelo: "deltaK",
preco: 789.90,
descricao: "Esse table é o mais vendido no momento",
detalhe : {polegadas: "10",
sistemaOperacional: "android 6.0"
}
]);
Utilizado esse tratamento, se desejarmos retornar apenas os detalhes de um
ou mais itens, podemos utilizar a projeção para retornar o atributo detalhe.
Um exemplo de projeção para retornar todos os detalhes seria:
db.produto.find(null,{detalhe:1});
O resultado seria semelhante às linhas a seguir, retornando o id e os sub-atributos do detalhe:
{ "_id" : ObjectId("123."), "detalhe" : { "capacidade" : "32GB" }}
{ "_id" : ObjectId("132."), "detalhe" :
{ "polegadas" : "10","sistemaOperacional" : "android 6.0" } }
Essa capacidade que o JSON tem de agrupar uma ou mais coleções de objetos auxilia na
organização das informações, permitindo que estruturas complexas sejam facilmente representadas.
Fazer uma implementação desse nível em um banco convencional é muito mais complexo.