$ set
Use o operador $ set para definir um valor específico. O operador $ set requer a seguinte sintaxe:
db.collection.update( { field: value1 }, { $set: { field1: value2 } } );
Esta instrução é atualizada no documento na coleção onde o campo corresponde a valor1, substituindo o valor do campo campo1 por valor2. Este operador adicionará o (s) campo (s) especificado (s) se eles não existirem neste documento ou substituirá o valor existente do (s) campo (s) especificado (s) se já existirem.
$ não definido
O operador $ unset exclui um campo específico. Considere o seguinte exemplo:
db.collection.update( { field: value1 }, { $unset: { field1: "" } } );
O exemplo acima exclui field1 na coleção de documentos em que field possui um valor de value1. O valor do campo na instrução $ unset (ou seja, “” acima) não afeta a operação.
Se os documentos corresponderem à consulta inicial (por exemplo, {campo: valor1} acima), mas não tiverem o campo especificado na operação $ unset (por exemplo, campo1), a instrução não terá efeito no documento.