MongoDB proporciona el NOW variable del sistema que le permite obtener el valor de fecha y hora actual al usar una canalización de agregación.
Esto puede ser útil cuando desea actualizar un documento con la fecha y hora actual.
A partir de MongoDB 4.2, los métodos de actualización pueden aceptar una canalización de agregación. Por lo tanto, NOW se puede utilizar como alternativa a $currentDate Operador de actualización de campo para configurar la fecha y hora actual cuando se utiliza cualquiera de los métodos de actualización.
Para acceder al NOW variable del sistema, antepóngala con dos signos de dólar y rodéela entre comillas ("$$NOW" ).
Ejemplo
Supongamos que tenemos una colección llamada dogs que contiene el siguiente documento:
{ "_id" : 1, "name" : "Fetch", "weight" : 25 }
Aquí hay un ejemplo del uso de NOW variable del sistema al actualizar ese documento:
db.dogs.updateOne(
{ _id : 1 },
[
{ $set : { weight : 30, lastModified : "$$NOW" } }
]
) Ahora echemos un vistazo al documento de nuevo:
db.dogs.find( { _id: 1 } ).pretty() Resultado:
{
"_id" : 1,
"name" : "Fetch",
"weight" : 30,
"lastModified" : ISODate("2021-01-27T01:29:32.833Z")
}
El lastModified se ha agregado un campo con un objeto Fecha que contiene la fecha y la hora actuales.
También hay un CLUSTER_TIME variable del sistema que devuelve la marca de tiempo actual, aunque solo está disponible en conjuntos de réplicas y clústeres fragmentados.
También tenga en cuenta que el NOW y CLUSTER_TIME los valores siguen siendo los mismos en toda la canalización.