Advertencia
El siguiente documento se refiere a la mongo Shell, incluido en la descarga del servidor MongoDB. Para obtener información sobre el nuevo Shell MongoDB (),mongosh consulte la documentación de Mongosh.
Para comprender las diferencias entre las dos capas, consulte Comparación de las mongo capas mongosh y.
Personalizar el mensaje
Puede modificar el contenido del mensaje configurando la variable prompt en el shell.mongo La prompt variable puede contener tanto cadenas como código JavaScript. Si prompt contiene una función que devuelve una cadena, el mongo shell puede mostrar información dinámica en cada mensaje.
Puedes añadir la lógica del indicador en el archivo .mongorc.js para establecerlo cada vez que inicies el shell mongo.
Personalizar el mensaje para mostrar el número de operaciones
Por ejemplo, para crear un indicador de shell con la cantidad de operaciones emitidas mongo mongo en la sesión actual, defina las siguientes variables en el shell:
cmdCount = 1; prompt = function() { return (cmdCount++) + "> "; }
El mensaje entonces sería similar al siguiente:
1> 2> 3>
Personalizar el mensaje para mostrar la base de datos y el nombre del host
Para crear un mongo indicador de shell con el <database>@<hostname>$ formato, defina las siguientes variables:
host = db.serverStatus().host; prompt = function() { return db+"@"+host+"$ "; }
El mensaje entonces sería similar al siguiente:
test@myHost1$
Personalizar el mensaje para mostrar el tiempo de actividad y el recuento de documentos
Para crear un mongo indicador de shell que contenga el tiempo de actividad del sistema y la cantidad de documentos en la base de datos actual, defina la siguiente prompt variable en el mongo shell:
prompt = function() { return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > "; }
El mensaje entonces sería similar al siguiente:
Uptime:5897 Documents:6 >
Utilice un editor externo en el mongo shell
Puede utilizar su propio editor en el shell mongo configurando la variable EDITOR de entorno antes de iniciar el mongo shell.
export EDITOR=vim mongo
Una vez en el shell, puede editar con el editor especificado mongo escribiendo edit <variable> edit <function>o, como en el siguiente ejemplo:
Define una función
myFunction:function myFunction () { } Edite la función usando su editor:
edit myFunction El comando debería abrir la sesión de edición
vim. Al finalizar las modificaciones, guarde y salga de la sesión de ediciónvim.En el shell,
mongoescribamyFunctionpara ver la definición de la función:myFunction El resultado debe ser los cambios de tu edición guardada:
function myFunction() { print("This was edited"); }
Nota
A medida que el shell interpreta el código editado en un editor externo, puede modificar mongo mongo el código 1+1 en 2 funciones, dependiendo del compilador de JavaScript. Por ejemplo, el shell puede convertir en o eliminar comentarios. Los cambios reales solo afectan la apariencia del código y varían según la versión de JavaScript utilizada, pero no afectan la semántica del código.
Cambiar el tamaño del lote de Shell mongo
El método es el método de db.collection.find() JavaScript para recuperar documentos de una colección. El método db.collection.find() devuelve un cursor a los resultados; sin embargo, en el shell, si el cursor devuelto no está asignado a una variable mediante mongo la var palabra clave, se itera automáticamente hasta 20 veces para imprimir hasta los primeros 20 documentos que coincidan con la consulta. El shell mongo solicitará Type it a que itere otras 20 veces.
Puede establecer el atributo DBQuery.shellBatchSize para cambiar el número de documentos del valor por defecto de 20, como en el siguiente ejemplo en el que se establece en 10:
DBQuery.shellBatchSize = 10;