Docs Menu
Docs Home
/ /

$min

$min

El $min actualiza el valor del campo a un valor especificado si este es menor que el valor actual del campo. El operador permite comparar valores de diferentes tipos mediante $min el Orden de comparación BSON.

{ $min: { <field1>: <value1>, ... } }

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, el operador establece el campo en el valor $min especificado.

Para las comparaciones entre valores de diferentes tipos, como un número y un valor nulo, utiliza el$min ordende comparación BSON.

A partir de MongoDB 5.0, mongod ya no genera un error cuando utiliza un operador de actualización como $min 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").

Crear la colección scores:

db.scores.insertOne( { _id: 1, highScore: 800, lowScore: 200 } )

El lowScore valor del documento actualmente 200 es. La siguiente operación usa para $min comparar 200 con el valor especificado 150 y ​​actualiza el valor de lowScore a,150 ya que 150 es menor 200 que:

db.scores.updateOne( { _id: 1 }, { $min: { lowScore: 150 } } )

La colección scores ahora contiene el siguiente documento modificado:

{ _id: 1, highScore: 800, lowScore: 150 }

La siguiente operación no tiene efecto ya que el valor actual del campo lowScore, es decir 150, es menor que 250:

db.scores.updateOne( { _id: 1 }, { $min: { lowScore: 250 } } )

El documento permanece sin cambios en la colección scores:

{ _id: 1, highScore: 800, lowScore: 150 }

Crear la colección tags:

db.tags.insertOne(
{
_id: 1,
desc: "crafts",
dateEntered: ISODate("2013-10-01T05:00:00Z"),
dateExpired: ISODate("2013-10-01T16:38:16Z")
}
)

La siguiente operación compara el valor actual del campo dateEntered, es decir ISODate("2013-10-01T05:00:00Z"), con la fecha especificada new Date("2013-09-25") para determinar si se debe actualizar el campo:

db.tags.updateOne(
{ _id: 1 },
{ $min: { dateEntered: new Date("2013-09-25") } }
)

La operación actualiza el campo dateEntered:

{
_id: 1,
desc: "crafts",
dateEntered: ISODate("2013-09-25T00:00:00Z"),
dateExpired: ISODate("2013-10-01T16:38:16Z")
}

Tip

Volver

$inc

En esta página