Operações CRUD

Inserir documentos

Inserir um documento

A instrução db.nome_colecao.insertOne() é usada para inserir um documento numa coleção.

Sintaxe:

db.nome_colecao.insertOne(documento)

Exemplo:

db.utilizadores.insertOne({
  nome: "João Silva",
  idade: 32,
  email: "joao@email.com"
})

No exemplo acima, foi inserido um documento na coleção cursos. De notar que o documento está no formato JSON.

Inserir vários documentos

A instrução db.nome_colecao.insertMany() é usada para inserir vários documentos numa coleção.

Sintaxe:

db.nome_colecao.insertMany(array)

Podemos inserir mais do que um documento de uma só vez usando um array de JSON:

Exemplo:

db.utilizadores.insertMany([
  { nome: "Maria", idade: 27 },
  { nome: "Carlos", idade: 40 }
])

O campo _id

Quando inserimos um novo documento numa coleção o MongoDB automaticamente cria um campo chamado _id, do tipo ObjectId, com um valor único em toda a coleção que identifica esse documento como uma chave primária.

Remover documentos

Remover um documento

A instrução db.nome_colecao.deleteOne() é usada para eliminar um documento de uma coleção.

Sintaxe:

db.nome_colecao.deleteOne(critério)

Esta instrução remove o primeiro documento que satisfaça o critério.

Exemplo:

db.clientes.deleteOne({morada: “Lisboa”})

Elimina o primeiro documento cuja morada seja Lisboa.

Remover vários documentos

A instrução db.nome_colecao.deleteMany() é usada para eliminar vários documentos de uma coleção.

Sintaxe:

db.nome_colecao.deleteMany(critério)

Esta instrução remove todos os documentos que satisfaçam o critério.

Exemplo:

db.clientes.deleteMany({morada: “Lisboa”})

Elimina todos os documentos cuja morada seja Lisboa.

Remover todos os documentos

db.clientes.deleteMany({})

A instrução acima remove todos os documentos da coleção clientes.

Alterar documentos

Alterar um documento

A instrução db.nome_colecao.updateOne() é usada para alterar um documento de uma coleção.

Sintaxe:

db.nome_colecao.updateOne(criterio, dados)

Esta instrução atualiza o primeiro documento que satisfaça o critério.

O argumento criterio permite selecionar o documento a alterar.

O argumento dados são os novos dados do documento.

Exemplo

db.clientes.updateOne({morada: “Lisboa”}, {$set:{morada: “Sintra”}})

A instrução acima altera o primeiro documento em que a morada é “Lisboa” com uma nova morada.

Alterar vários documentos

A instrução db.nome_colecao.updateMany() é usada para alterar vários documentos de uma coleção.

Sintaxe:

db.nome_colecao.updateMany(criterio, dados)

Exemplo

db.clientes.updateMany({morada: “Lisboa”}, {$set:{morada: “Sintra”}})

A instrução acima altera todos os documentos cuja morada seja “Lisboa” com uma nova morada.

Pesquisar documentos

A instrução db.nome_colecao.find() é usada para pesquisar documentos de uma coleção.

Exemplo 1:

db.clientes.find()

O exemplo acima devolve todos os documentos da coleção clientes.

Exemplo 2:

db.clientes.find({morada: “Lisboa”})

O exemplo acima devolve todos os documentos da coleção clientes em que a morada seja “Lisboa”.

Exemplo 3:

db.clientes.find({nr: {$lt: 50}})

O exemplo acima devolve todos os documentos da coleção clientes em que o campo nr do cliente seja menor que 50.

Exemplo 4:

db.clientes.find({nr: {$gt: 50}})

O exemplo acima devolve todos os documentos da coleção clientes em que o campo nr do cliente seja maior que 50.

A instrução db.nome_colecao.findOne() devolve o primeiro documento que satisfaça o critério.

Sintaxe:

db.nome_colecao.findOne(critério)

Exemplo:

db.clientes.findOne({nr: 14})

O exemplo acima devolve todos o primeiro documento da coleção clientes em que o campo nr do cliente seja igual a 14.