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
editcon un editor externo.Utiliza el comando
.editor, un editor con funcionalidad incorporada.
Uso de un editor externo
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 los editores están configurados en ambas ubicaciones, el editor configurado en tendrá mongosh prioridad.
Para configurar un editor dentro de mongosh, utiliza config.set(). comando.
config.set( "editor", "vi" )
Consulte la configuración del editor externo para obtener más ejemplos.
Puede usar edit de tres maneras:
Inicia una nueva sesión de edición
Introduce edit por sí solo para iniciar una nueva sesión de edición.
edit
Si inicia una sesión de edición sin argumentos, el editor se abre con la última edición cargada. Consulte el ejemplo"Editar un comando".
Editar una variable
Si existe un argumento en el espacio de nombres de la consola, puedes usar edit para actualizarlo.
var albums = [ ]; edit albums
La variable
albumsse establece en la primera línea.La segunda línea abre el editor externo para editar el valor de
albums.
Editar una instrucción
Para editar una declaración en el editor externo, invoque edit con una declaración db.collection.insertMany() como.
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.
Uso del editor integrado
El comando .editor proporciona capacidades básicas de edición de múltiples líneas.
El editor no guarda código. Al cerrar el editor integrado, las modificaciones se cargan en el ámbito global. Si la modificación invoca funciones o comandos, estos se ejecutarán al cerrar el editor.
Para iniciar el editor incorporado:
.editor
Introduce <ctrl> + d para salir y ejecutar tu función.
Ejemplos
Establece el Editor Externo
Si la EDITOR variable de entorno está configurada en el shell que ejecuta,mongosh el edit comando utilizará 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.
Establezca 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 vi editor se abrirá cuando ejecute edit en la mongosh consola.
Nota
También puede establecer variables de entorno mongosh desde process.env.<VARIABLE> usando.
Establezca la variable de entorno EDITOR mongosh desde:
process.env.EDITOR = 'nano'
La variable de entorno solo se actualiza para el actual mongosh. La actualización no persiste cuando mongosh sale.
Establecer la propiedad editor
Para configurar nano como el editor desde mongosh, usa el config.set() comando.
config.set( "editor", "nano" )
El nano editor se abrirá cuando ejecute edit en la mongosh consola.
Nota
mongosh intentará usar el programa configurado. Un programa como less funcionará. Otros programas,grep como, podrían fallar o tener resultados inesperados.
Edición de un comando
Utilice edit para iniciar una sesión de edición. Si el editor ya se usó en la sesión de consola actual, se abrirá 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:
Copiar el código de ejemplo.
Ingrese
editpara iniciar una sesión de edición.Pegue el código de ejemplo en el editor.
Salga del editor.
Presione
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.
Usar Visual Studio como editor externo
Visual Studio requiere un parámetro especial para funcionar como editor externo. Use --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.
Desactive el Editor Externo
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 deshabilita EDITOR con,process.env el cambio no se conservará al salir mongosh de. Para que el cambio persista, deshabilita EDITOR en tu shell.
Usando el editor de funcionalidad incorporada
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> + dpara salir y ejecutar tu funciónPresione
<ctrl> + cpara 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.