28
MongoDB INICIANDO COM NOSQL

#5 CRUD no MongoDB

Embed Size (px)

Citation preview

Page 1: #5   CRUD  no MongoDB

MongoDBINICIANDO COM NOSQL

Page 2: #5   CRUD  no MongoDB

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

Page 3: #5   CRUD  no MongoDB

CRUDCRUD é o acrônimo para as ações Create, Retrieve, Update e Delete.

Page 4: #5   CRUD  no MongoDB

CRUDVamos primeiro acessar o nosso banco de dados. Vamos chama-lo de miniCurso.

> use miniCurso

Agora iremos criar uma collection de pessoas.

Page 5: #5   CRUD  no MongoDB

CRUD

INSERT

Page 6: #5   CRUD  no MongoDB

CRUDSintaxe para o insert.

db . collectionName . Insert ( { objeto } )

objeto a ser inserido

comando de inserção

no nosso caso será pessoas

o db selecionado

Page 7: #5   CRUD  no MongoDB

CRUDVamos inserir um objeto então:

> db.pessoas.Insert( { “name” : “Gabriel Scavassa”, “age”: 27, “excluído”: false } )

Page 8: #5   CRUD  no MongoDB

CRUD

FIND

Page 9: #5   CRUD  no MongoDB

CRUDSintaxe para busca, o find:

> db.pessoas.findOne()

> db.pessoas.find()

> db.pessoas.find({seletor})

Page 10: #5   CRUD  no MongoDB

Vamos a mais uma demo

Page 11: #5   CRUD  no MongoDB

CRUDVamos fazer o insert de mais duas pessoas;

Vamos fazer o find() ;

Page 12: #5   CRUD  no MongoDB

CRUDVamos fazer o findOne();

Page 13: #5   CRUD  no MongoDB

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!

Page 14: #5   CRUD  no MongoDB

CRUD

UPDATE

Page 15: #5   CRUD  no MongoDB

CRUDO Update tem uma sintaxe diferente, um pouco mais complexa.

> db.pessoas.update(

{filtro} ,

{parâmetros a serem alterados},

{ [upsert ], [multi], [writeConcern]

}

)

Page 16: #5   CRUD  no MongoDB

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

Page 17: #5   CRUD  no MongoDB

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.

Page 18: #5   CRUD  no MongoDB

CRUDPassando todo o objeto

> db.pessoas.update(

{“name” : “Gabriel Scavassa”},

{“name” : “Gabriel Scavassa”, “age” :27, “excluido” : true},

{ upsert : true }

)

Page 19: #5   CRUD  no MongoDB

CRUDEspecificando o atributo.

Para isto temos o operador $set{ {propriedade} }

> db.pessoas.update(

{“name” : “Gabriel Scavassa”},

{ $set : {“name” : “Gabriel Alves Scavassa”}},

{ upsert : true }

)

Page 20: #5   CRUD  no MongoDB

CRUD

Page 21: #5   CRUD  no MongoDB

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)

Page 22: #5   CRUD  no MongoDB

CRUD

REMOVE

Page 23: #5   CRUD  no MongoDB

CRUDNo mongoDB o Delete é Remove.

Assim como o Update, ele possui parâmetros a mais.

db.collection.remove( {filtro} , [justOne], [writeConcern] )

Page 24: #5   CRUD  no MongoDB

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.

Page 25: #5   CRUD  no MongoDB

CRUDVamos remover um usuário

> db.pessoas.remove({“name”: “Gabriel Alves Scavassa”})

Page 26: #5   CRUD  no MongoDB

CRUDVamos praticar

Page 27: #5   CRUD  no MongoDB

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.

Page 28: #5   CRUD  no MongoDB