Overview
MongoDB proporciona los siguientes comandos, métodos y operadores que realizan la ejecución del código JavaScript en el lado del servidor:
mapReducey elmongoshmétododb.collection.mapReduce()correspondiente. Para más información, consulte Map-Reduce.$whereoperador que evalúa una expresión de JavaScript o una función para consultar documentos.Operaciones
$accumulatorde agregación y que permiten a los usuarios definir expresiones de agregación personalizadas.$function
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 necesita realizar la ejecución del código JavaScript en el lado del servidor, consulte Deshabilitar la 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.
.js Ejecución de archivos a través de una mongosh instancia 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
Consulte la documentación del método u operador para obtener información sobre concurrencia. Consulte también la tabla de concurrencia.
Funciones de string y arreglo no compatibles
MongoDB 6.0 actualiza el motor JavaScript interno utilizado para JavaScript del lado del servidor, expresiones, $accumulator $functiony, y de $where MozJS-60 a91 MozJS-. Varias funciones de matriz y cadena obsoletas y no estándar que existían en MozJS-60 se eliminan en MozJS-.91
Para obtener la lista completa de funciones de cadena y matriz eliminadas, consulte las 6.0 notas de compatibilidad.