3
respostas

Não está atualizando!!

db.alunos.update( { "id" : ObjectId("5f68b95b1468e80f578754d8"), "nome" : "Helena", "datanascimento" : new Date("2014-05-09T03:00:00Z"), "curso" : { "nome" : "Medicina" }, "habilidade" : [ { "nome" : "inglês", "nível" : "avançado " } ] }, { $set : {"id" : ObjectId("5f68b95b1468e80f578754d8"), "nome" : "Helena", "datanascimento" : new Date(2014, 05, 09), "curso" : { "nome" : "Medicina" }, "habilidades" : [ { "nome" : "Inglês", "nivel" : "Avançado" } ] }})

3 respostas

Olá Caio, tudo bem?

No momento de atualizar uma informação de um dos documentos, não é necessário informar todos os campos no comando, então, por qual motivo você está inserindo todos os campos no Update? Já tentou atualizar apenas o campo especifico? Ocorre alguma mensagem de erro quando executa o comando? Se sim, poderia informar qual a mensagem de erro?

Aguardo o seu retorno!

Eu estou mandando todos para atualizar todos esse comando só atualiza um dado por vez? Eu pensei em jogar todos os dados para atualizar tudo que eu precisava atualizar não somente um item em questão

Bom Caio, esse comando pode atualizar um documento existente totalmente, dependendo do parâmetro de atualização utilizado, outra coisa, para o método update funcionar, os campos precisam ser correspondentes no documento. Como por exemplo:

db.alunos.update(
    {"curso.nome" : "Sistema de informação"},
    {
        $set : {
            "curso.nome" : "Sistemas de informação"
        }
    }    
)

O campo "curso.nome" , corresponde ao "curso.nome" do documento.

Então para atualizar um documento por completo, você poderia fazer da seguinte forma:

db.alunos.update({"_id": ObjectId("5f68b95b1468e80f578754d8")}, 
 {  "nome": "Danielle",
     "datanascimento": new Date(1997, 08, 22),
     "notas": [10, 9, 4],
"curso": {  "nome": "Sistemas De Informação"   },
     "habilidades": [
       { "nome": "Inglês",
             "nível": "Avançado" }
     ] } )

Passando o ID do documento, juntamente com os novos dados, então para saber mais sobre o método Update, você pode acessar a documentação do MongoDB.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software