Docs Menu
Docs Home
/ /
/ / /

Variables en expresiones de agregación

Las expresiones de agregación pueden utilizar variables definidas por el usuario y del sistema.

Las variables pueden contener cualquier dato de tipo BSON. Para acceder al valor de la variable, anteponga el nombre de la variable con dos signos de dólar ($$); es decir "$$<variable>".

Si la variable hace referencia a un objeto, para acceder a un campo específico en el objeto, utilice la notación de punto, es decir, "$$<variable>.<field>".

Los nombres de las variables de usuario pueden contener los caracteres ASCII [_a-zA-Z0-9] y cualquier carácter que no sea ASCII.

Los nombres de las variables de usuario deben comenzar con una letra ASCII minúscula [a-z] o un carácter que no sea ASCII.

MongoDB ofrece las siguientes variables del sistema:

Variable
Descripción
NOW

Una variable que devuelve el valor de fecha y hora actual. NOW devuelve el mismo valor para todos los miembros de la implementación y permanece igual durante todas las etapas del proceso de agregación.

CLUSTER_TIME

Una variable que devuelve el valor de la marca de tiempo actual.

CLUSTER_TIME Solo está disponible en conjuntos de réplicas y clústeres fragmentados.

CLUSTER_TIME devuelve el mismo valor para todos los miembros de la implementación y permanece igual durante todas las etapas de la canalización.

ROOT

Hace referencia al documento raíz, es decir, el documento de nivel superior, que se está procesando actualmente en la etapa de canalización de agregación.

CURRENT

Hace referencia al inicio de la ruta del campo que se procesa en la etapa de canalización de agregación. A menos que se indique lo contrario, todas las etapas comienzan con,CURRENT igual ROOT que.

CURRENT es modificable. Sin embargo, dado que $<field> es equivalente $$CURRENT.<field> a, revincular cambia el significado de CURRENT los $ accesos a.

REMOVE

Una variable que evalúa el valor faltante. Permite excluir campos en $addFields las etapas $project y.

Para ejemplos que utilizan $$REMOVE, ver:

DESCEND

Uno de los resultados permitidos de una $redact expresión.

PRUNE

Uno de los resultados permitidos de una $redact expresión.

KEEP

Uno de los resultados permitidos de una $redact expresión.

SEARCH_META

Una variable que almacena los resultados de metadatos de un Consulta de búsqueda de Atlas. En todas las etapas de la canalización de agregación compatibles, un campo definido en la variable devuelve $$SEARCH_META los resultados de metadatos de la consulta.

Para ver un ejemplo de su uso, consulte la faceta y el recuento de búsqueda de MongoDB.

USER_ROLES

Devuelve los roles asignados al usuario actual.

Para los casos de uso que incluyen USER_ROLES, consulte los ejemplos de find, aggregation, view, updateOne, updateMany y findAndModify.

El uso de la variable del sistema USER_ROLES en agregaciones no es compatible en clústeres M0 y Flex.

Nuevo en la versión 7.0.

Tip

Volver

Comparación de comandos

En esta página