Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro com $each

Boa noite,

Quando tento rodar a consulta abaixo, dá o seguinte erro:

 db.alunos.update(
... {"nome":"Carlos"},
... {notas: {$each: [8.5, 10]}}
... )
2016-06-05T00:44:40.681-0300 E QUERY    [thread1] Error: field names cannot start with $ [$each] :
DBCollection.prototype._validateForStorage@src/mongo/shell/collection.js:252:1
DBCollection.prototype._validateForStorage@src/mongo/shell/collection.js:256:13
DBCollection.prototype._validateUpdateDoc@src/mongo/shell/collection.js:491:9
Bulk/findOperations.updateOne@src/mongo/shell/bulk_api.js:681:17
DBCollection.prototype.update@src/mongo/shell/collection.js:561:13
@(shell):1:1
2 respostas
solução!

Oi Carlos,

Se você ta tentando adicionar essas notas, está faltando só o $push:

db.alunos.update(
    {"nome":"Carlos"},
    {
        $push : {
            notas : {$each: [8.5, 10]}
        }
    }
)

Oi Carlos,

O correto seria

 db.alunos.update(
 {"nome":"Carlos"},
 {$push:{notas: {$each: [8.5, 10]}}}
 )
`

Precisa usar o push pra manipular o array.

Estava com erro na resposta do exercício e já foi corrigido.

Abraços e muito obrigado.