Docs Menu
Docs Home
/ /

Utilice un editor para los comandos

La mongosh La consola está orientada a líneas. Sin embargo, también puedes utilizar un editor para trabajar con funciones multilínea. Hay dos opciones:

  • Utilice el comando edit con un editor externo.

  • Utiliza el comando .editor, un editor con funcionalidad incorporada.

El comando mongosh edit funciona con un editor externo. Puedes configurar un editor externo en el shell que ejecute mongosh o desde dentro de mongosh.

Si hay editores configurados en ambas ubicaciones, el editor configurado dentro de mongosh tendrá prioridad.

Para configurar un editor dentro de mongosh, utiliza config.set(). comando.

config.set( "editor", "vi" )

Consulta configurar el editor externo para más ejemplos.

Puede usar edit de tres maneras:

Introduce edit por sí solo para iniciar una nueva sesión de edición.

edit

Si inicias una sesión de edición sin ningún argumento, el editor se abre con la última edición cargada. Consulta el ejemplo, Editar un comando.

Si un argumento existe en el namespace de la consola, se puede usar edit para actualizarlo.

var albums = [ ];
edit albums
  • La variable albums se establece en la primera línea.

  • La segunda línea abre el editor externo para editar el valor de albums.

Para editar una instrucción en el editor externo, invocar edit con una instrucción como db.collection.insertMany().

edit db.digits.insertMany( [] )

Después de editar db.music.insertMany( [] ) y salir del editor externo, la consola mongosh podría tener este aspecto:

prompt> db.digits.insertMany([{ "zero": 0 }, { "one": 1 }, { "two": 2 }])

Cuando cierras el editor externo, la instrucción se copia en la línea de entrada de la consola, lista para ejecutarse. No se ejecuta automáticamente. Presiona <enter> para ejecutar la instrucción o <ctrl> + c para cancelarla.

El comando .editor proporciona capacidades básicas de edición de varias líneas.

El editor no guarda el código. Cuando se cierra el editor integrado, las ediciones se cargan en el ámbito global. Si la edición llama a alguna función o comando, se ejecutará cuando se cierre el editor.

Para iniciar el editor incorporado:

.editor

Introduce <ctrl> + d para salir y ejecutar tu función.

Vea Utilización del Editor de funcionalidad incorporada.

Si la variable de entorno EDITOR está definida en el shell que ejecuta mongosh, el comando edit usará ese editor.

Si la propiedad mongosh editor también está configurada, mongosh utilizará ese programa en su lugar. La propiedad editor anula la variable de entorno EDITOR.

La variable de entorno debe configurarse antes de iniciar mongosh.

Configura una variable de entorno en bash o zsh:

export EDITOR=vi

El editor vi se abrirá cuando ejecutes edit en la consola mongosh.

Nota

También puedes configurar variables de entorno desde mongosh usando process.env.<VARIABLE>.

Configurar la variable de entorno EDITOR desde mongosh:

process.env.EDITOR = 'nano'

La variable de entorno solo se actualiza para el actual mongosh. La actualización no persiste cuando mongosh sale.

Para configurar nano como el editor desde mongosh, usa el config.set() comando.

config.set( "editor", "nano" )

El editor nano se abrirá cuando ejecutes edit en la consola mongosh.

Nota

mongosh intentará usar cualquier programa que esté configurado. Un programa como less funcionará. Otros programas, como grep, pueden fallar o tener resultados inesperados.

Use edit para iniciar una sesión de edición. Si el editor ya se utilizó en la sesión actual de la consola, el editor abre la última edición.

La siguiente instrucción contiene un error de sintaxis. Falta una coma en la línea resaltada:

// WARNING: This code contains an error
db.users.insertMany( [
{ "name": "Joey", "group": "sales" }
{ "name": "Marie", "group": "sales" },
{ "name": "Elton", "group": "accounting" },
{ "name": "Paola", "group": "marketing" }
] )

Para configurar el ejemplo:

  1. Copiar el código de ejemplo.

  2. Ingrese edit para iniciar una sesión de edición.

  3. Pegar el código de ejemplo en el editor.

  4. Salga del editor.

  5. Pulsa enter.

Cuando sales del editor, copia el código de ejemplo en la línea de comandos. mongosh devuelve un error cuando se ejecuta el código.

Para recargar el código de ejemplo, introduce edit sin ningún argumento.

// WARNING: This code contains an error
db.users.insertMany([{
"name": "Joey",
"group": "sales"
} {
"name": "Marie",
"group": "sales"
},
{
"name": "Elton",
"group": "accounting"
},
{
"name": "Paola",
"group": "marketing"
}
])

El código se reformatea para facilitar su edición. En este caso la ausencia de una coma en la línea resaltada provoca que los documentos estén desalineados.

Visual Studio requiere un parámetro especial para funcionar como editor externo. Utilizar --wait con Visual Studio.

Establece una variable de entorno:

export EDITOR="/usr/local/bin/code --wait"

También pueden configurar el editor con config.set(). Si Visual Studio está en su PATH, abra mongosh y ejecute:

config.set("editor", "code --wait")

Si usas Visual Studio, también puedes utilizar la MongoDB VS Code Extension.

Desactivar la variable editor en mongosh:

config.set("editor", null)

Si se ha configurado el entorno EDITOR, también se debe desactivarlo. Desde mongosh, ejecuta:

process.env.EDITOR = ''

Si deseleccionas EDITOR usando process.env, el cambio no persistirá después de salir de mongosh. Para hacer que el cambio sea permanente, desactiva EDITOR en tu shell.

Inicie el editor:

.editor

mongosh entra en modo editor. Ingresa tu código:

// Entering editor mode (^D to finish, ^C to cancel)
var albums =
[
{ "artist": "Beatles", "album": "Revolver" },
{ "artist": "The Monkees", "album": "Head"}
]
db.music.insertMany( albums )

Para salir del editor,

  • Presiona <ctrl> + d para salir y ejecutar tu función

  • Presione <ctrl> + c para salir sin ejecutar su función

Los objetos que se declaran usando .editor, como albums en este ejemplo, se agregan al ámbito global. Están disponibles tras el cierre de .editor.

Volver

Configurar

En esta página