Upload
gabriel-alves-scavassa
View
134
Download
1
Embed Size (px)
Citation preview
MongoDBINICIANDO COM NOSQL
Agenda Visão geral sobre bancos de dados
Introdução ao NoSQL
Banco de dados orientado a documento
Introdução ao MongoDB
JSON
Instalação do MongoDB
Primeiros comandos no MogoDB
CRUD
Operadores de Comparação e Lógicos
Exercícios
CRUDCRUD é o acrônimo para as ações Create, Retrieve, Update e Delete.
CRUDVamos primeiro acessar o nosso banco de dados. Vamos chama-lo de miniCurso.
> use miniCurso
Agora iremos criar uma collection de pessoas.
CRUD
INSERT
CRUDSintaxe para o insert.
db . collectionName . Insert ( { objeto } )
objeto a ser inserido
comando de inserção
no nosso caso será pessoas
o db selecionado
CRUDVamos inserir um objeto então:
> db.pessoas.Insert( { “name” : “Gabriel Scavassa”, “age”: 27, “excluído”: false } )
CRUD
FIND
CRUDSintaxe para busca, o find:
> db.pessoas.findOne()
> db.pessoas.find()
> db.pessoas.find({seletor})
Vamos a mais uma demo
CRUDVamos fazer o insert de mais duas pessoas;
Vamos fazer o find() ;
CRUDVamos fazer o findOne();
CRUDE... Inserir duas pessoas ao mesmo tempo ???
> db.pessoas.insert( [{"name": "Pedro Paulo", "age" : 21, "excluido" : false}
,{"name": "Fernanda Ribeiro", "age" : 22, "excluido" : true} ]
)
Colocamos os objetos em um Array e os separamos por virgula!
CRUD
UPDATE
CRUDO Update tem uma sintaxe diferente, um pouco mais complexa.
> db.pessoas.update(
{filtro} ,
{parâmetros a serem alterados},
{ [upsert ], [multi], [writeConcern]
}
)
CRUDdb.pessoas.update({filtro}, {parâmetros a serem alterados}, { [upsert ], [multi], [writeConcern] } )
{Filtro}
Será usado para definir quem iremos atualizar
{Parâmetros a serem alterados}
Passamos todo o objeto a ser atualizado ou então definimos apenas um atributo
[Upsert]
Seus valores podem ser TRUE ou FALSE
Este item é opcional e quando não preenchido ele é por definição, FALSE;
Quando TRUE, se o {filtro} não retornar um objeto um novo será inserido
Quando FALSE, nada acontece quando o filtro não retorna um objeto
CRUDdb.pessoas.update({filtro}, {parâmetros a serem alterados}, { [upsert ], [multi], [writeConcern] } )
[Multi]Seu valor pode ser TRUE ou FALSE
Este parâmetro é opcional e quando não preenchido, por definição é FALSE
Quando TRUE, serão atualizados todos os documentos que forem encontrados pelo {filtro}
Quando FALSE, somente o objeto que for encontrado pelo {filtro} será atualizado
[writeConcern]
Descreve regras para o Insert e update. Como por exemplo a existência de um campo_id.
Não iremos trabalhar com este item pois ele entra em um nível mais avançado do MongoDB.
CRUDPassando todo o objeto
> db.pessoas.update(
{“name” : “Gabriel Scavassa”},
{“name” : “Gabriel Scavassa”, “age” :27, “excluido” : true},
{ upsert : true }
)
CRUDEspecificando o atributo.
Para isto temos o operador $set{ {propriedade} }
> db.pessoas.update(
{“name” : “Gabriel Scavassa”},
{ $set : {“name” : “Gabriel Alves Scavassa”}},
{ upsert : true }
)
CRUD
CRUDInsira três novas pessoas com os mesmos dados, usando o INSERT (com array pfv) onde o atributo excluido seja false
Atualize o atributo excluido de apenas uma delas para true.
Atualize o atributo age para 78 das outras duas pessoas
Sete o upsert para true e atualize um usuário que não exista. (não utilize $set{}, passe o objeto por completo)
CRUD
REMOVE
CRUDNo mongoDB o Delete é Remove.
Assim como o Update, ele possui parâmetros a mais.
db.collection.remove( {filtro} , [justOne], [writeConcern] )
CRUDdb.collection.remove( {filtro} , [justOne], [writeConcern] )
{Filtro}
Será usado para definir quem iremos atualizar
[JustOne]
Seu valor pode ser TRUE ou FALSE
Este parâmetro é opcional e quando não preenchido, por definição é FALSE
Quando TRUE remove apenas um objeto retornado pelo {filtro}
Quando FALSE remove todos os objetos retornados pelo {filtro}
[writeConcern]
Já explicado anteriormente.
CRUDVamos remover um usuário
> db.pessoas.remove({“name”: “Gabriel Alves Scavassa”})
CRUDVamos praticar
CRUDAdicione três usuários com o mesmo nome
Remova apenas um deles buscando pelo nome.
Remova os dois restantes por um campo em comum.