Overview
MongoDB proporciona los siguientes comandos, métodos y operador para la ejecución del código JavaScript del lado del servidor:
mapReducey el correspondientemongoshmétododb.collection.mapReduce(). Para obtener más información, consulta Map-Reduce.$whereoperador que evalúa una expresión de JavaScript o una función para consultar documentos.Operaciones de agregación
$accumulatory$functionque permiten a los usuarios definir expresiones de agregación personalizadas.
También puede especificar un archivo JavaScript para mongosh para ejecutar en el servidor. Para obtener más información, consulta Ejecución de archivos .js mediante una instancia mongosh en el servidor
Nota
JavaScript en MongoDB
Aunque estos métodos utilizan JavaScript, la mayoría de las interacciones con MongoDB no utilizan JavaScript, sino un driver idiomático en el lenguaje de la aplicación que interactúa.
Si no necesitas ejecutar código JavaScript del lado del servidor, consulta Desactivar ejecución de JavaScript en el lado del servidor.
Nota
Si usa SELinux, cualquier operación de MongoDB que requiera JavaScript del lado del servidor generará errores de segmentación. Deshabilitar la ejecución de JavaScript del lado del servidor describe cómo deshabilitar la ejecución de JavaScript del lado del servidor.
Ejecutando archivos .js mediante una instancia mongosh en el servidor
Puede especificar un archivo de JavaScript (.js) para mongosh para ejecutar el archivo en el servidor. Esta es una buena técnica para realizar trabajo administrativo agrupado. Cuando ejecute mongosh en el servidor, conectándose a través de la interfaz localhost, la conexión es rápida y de baja latencia.
Deshabilite la ejecución del lado del servidor de JavaScript
Puede desactivar toda la ejecución de JavaScript del lado del servidor:
Para una instancia de
mongodpasando la opción--noscriptingen la línea de comandos o configurandosecurity.javascriptEnabledcomo falso en el archivo de configuración.Para una instancia de
mongospasando la opción--noscriptingen la línea de comandos o configurandosecurity.javascriptEnabledcomo falso en el archivo de configuración.
Comportamiento
Simultaneidad
Consulta la documentación individual del método u operador para cualquier información sobre concurrencia. Consulte también la tabla de simultaneidad.
Funciones de string y arreglo no compatibles
MongoDB 6.0 actualiza el motor interno de JavaScript utilizado para JavaScript del lado del servidor, $accumulator, $function y $where expresiones y de MozJS-60 a MozJS-91. Varias funciones de arreglos y string obsoletas y no estándar que existían en MozJS-60 se eliminaron en MozJS-91.
Para obtener la lista completa de funciones de arreglo y string eliminadas, consulta las notas de compatibilidad 6.0.