Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
Mongo Shell heredado

Configura el mongo Shell

Advertencia

El siguiente documento se relaciona con el 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.

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.

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++) + "> ";
}

Entonces, el aviso se parecería a lo siguiente:

1>
2>
3>

Para crear un mongo shell al estilo de <database>@<hostname>$, definí las siguientes variables:

host = db.serverStatus().host;
prompt = function() {
return db+"@"+host+"$ ";
}

Entonces, el aviso se parecería a lo siguiente:

test@myHost1$

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+" > ";
}

Entonces, el aviso se parecería a lo siguiente:

Uptime:5897 Documents:6 >

Puedes usar tu propio editor en la mongo shell configurando la variable de entorno EDITOR antes de iniciar la 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:

  1. Define una función myFunction:

    function myFunction () { }
  2. 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ón vim.

  3. En la shell mongo, escribe myFunction para 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.

El método db.collection.find() es el método de JavaScript para recuperar documentos de una colección. El método db.collection.find() devuelve un cursor a los resultados; sin embargo, en la mongo shell, si el cursor devuelto no se asigna a una variable mediante la palabra clave var, el cursor se recorre automáticamente hasta 20 veces para mostrar hasta los primeros 20 documentos que coincidan con la query. El shell mongo pedirá a Type it 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;

Volver

Mongo Shell heredado

En esta página