Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consegui fazer o update simples funcionar.

para exemplificar a situação segue o código, abaixo o meu cenário.

Query e seu retorno do documento que quero atualizar:

> db.alunos.find( { "curso.nome" : "Medicina" });
{ "_id" : ObjectId("62120e931e8468b4993100f4"), "nome" : "Julio", "data_nascimento" : ISODate("2018-08-06T00:00:00Z"), "curso" : { "nome" : "Medicina" }, "habilidades" : [ { "nome" : "inglês", "nivel" : "avançado" } ] }

Comando update para atualizar o nome do curso:

> db.alunos.update(     {"curno.nome" :  "Medicina"},     {         $set : {             "curso.nome" : "medicina"         }      }, {multi : true } )
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })

Sinceramente, não sei oque estou fazendo de errado, alguém poderia me ajudar? Acredito que talvez pode ser que estou usando versão do mongo diferente da que foi utilizada no curso e o mongo não esta mais aceitando fazer dessa forma, rodando esse comando pelo mongoshell do compass ele diz que o comando update esta deprecated e deve ser usado updateOne or updateMany.

1 resposta
solução!

Sua property do Json esta errada. Altere: "curno.nome" -> "curso.nome"