Advertencia
El siguiente documento se refiere a la mongo shell, incluida en la descarga del servidor MongoDB. Para obtener información sobre la nueva MongoDB Shell (mongosh), consulta la documentación de mongosh.
Para entender las diferencias entre los dos shells, consulte Comparación entre el mongo Shell y mongosh.
Personaliza el mensaje
Puede modificar el contenido del prompt configurando la variable prompt en el shell mongo. La variable prompt puede contener tanto cadenas de texto como código JavaScript. Si prompt tiene una función que devuelve una string, el shell mongo puede mostrar información dinámica en cada prompt.
Puedes añadir la lógica del indicador en el archivo .mongorc.js para establecerlo cada vez que inicies el shell mongo.
Personalice el indicador para mostrar el número de operaciones
Para crear un mongo aviso de shell con el número de operaciones emitidas en la sesión actual, define las siguientes variables en el shell mongo:
cmdCount = 1; prompt = function() { return (cmdCount++) + "> "; }
El mensaje entonces sería similar al siguiente:
1> 2> 3>
Personaliza el prompt 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 indicador mongo que contenga el tiempo de actividad del sistema y el número de documentos en la base de datos actual, define la siguiente variable prompt en el shell mongo:
prompt = function() { return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > "; }
El mensaje entonces sería similar al siguiente:
Uptime:5897 Documents:6 >
Utiliza 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 mongo, puedes editar con el editor especificado escribiendo edit <variable> o edit <function>, como en el siguiente ejemplo:
Define una función
myFunction:function myFunction () { } Edite la función usando su editor:
edit myFunction El comando debe abrir la sesión de edición
vim. Una vez que termines las ediciones, guarda y sal de la sesión de ediciónvim.En la shell
mongo, escribemyFunctionpara 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
Como el shell mongo interpreta el código editado en un editor externo, puede modificar el código en funciones, dependiendo del compilador de JavaScript. Por ejemplo, el mongo shell puede convertir 1+1 en 2 o eliminar comentarios. Los cambios reales solo afectan la apariencia del código y variarán según la versión de JavaScript utilizada, pero no afectarán la semántica del código.
Cambie el mongo Lote de Shell
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;