Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

$unset (operador de actualización)

Nota

Desambiguación

La siguiente página se refiere al operador de actualizar $unset. Para la etapa de agregación, consulte $unset.

$unset

El $unset operador borra un campo específico.

Puedes usar $unset para implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Considere la siguiente sintaxis:

{ $unset: { <field1>: "", ... } }

El valor especificado en la expresión $unset (es"" decir,) no afecta la operación.

Para especificar un <field> en un documento incrustado o en un arreglo, utiliza notación de puntos.

A partir de MongoDB 5.0, los operadores de actualización procesan los campos de documentos con nombres basados en cadenas en orden lexicográfico. Los campos con nombres numéricos se procesan en orden numérico. Consulta Comportamiento del operador de actualización para obtener más información.

Si el campo no existe, entonces no hace nada (es decir, no realiza ninguna $unset operación).

Cuando se utiliza con $ para hacer coincidir un elemento del arreglo, $unset reemplaza el elemento que coincide con null en lugar de remover el elemento que coincide del arreglo. Este comportamiento hace que el tamaño del arreglo y las posiciones de los elementos mantengan una coherencia.

A partir de MongoDB 5.0, mongod ya no genera un error cuando utiliza un operador de actualización como $unset con una expresión de operando vacía ( { } ). Una actualización vacía no produce cambios y no genera ninguna entrada en el oplog (lo que significa que la operación es una “no-op").

Los ejemplos de esta página utilizan datos del conjunto de datos de muestra sample_mflix. Para obtener más información sobre cómo cargar este conjunto de datos en la implementación autogestionada de MongoDB, consultar Cargar el conjunto de datos de muestra. Si se realizó alguna modificación en las bases de datos de muestra, es posible que se deban descartar y volver a crear las bases de datos para ejecutar los ejemplos de esta página.

El siguiente ejemplo utiliza el operador para eliminar $unset los label status campos y del documento de película correspondiente:

db.movies.updateOne(
{ title: "The Dark Knight" },
{ $unset: { label: "", status: "" } }
)

La operación devuelve el siguiente resultado:

{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}

Tip

Volver

$setOnInsert

En esta página