에디터를 사용하여 명령어 실행하기
이 페이지의 내용
mongosh
콘솔은 라인 지향적입니다. 그러나 편집기를 사용하여 여러 줄 함수로 작업할 수도 있습니다. 두 가지 옵션이 있습니다.
외부 편집기 사용
mongosh
edit
명령은 외부 편집기와 함께 작동합니다. mongosh
를 실행하는 셸 또는 mongosh
에서 외부 편집기를 구성할 수 있습니다.
편집기가 두 위치에 모두 구성되어 있는 경우 mongosh
내에 구성된 편집기가 우선합니다.
mongosh
내에 편집기를 설정하려면 config.set() 명령을 사용합니다.
config.set( "editor", "vi" )
추가 예시는 외부 편집기 설정에서 확인 가능합니다.
edit
는 다음 세 가지 방법으로 사용할 수 있습니다.
새 편집 세션 시작
edit
을 단독으로 입력하여 새 편집 세션을 시작합니다.
edit
인수를 지정하지 않고 편집 세션을 시작하면 마지막 편집 내용을 불러온 상태로 편집기가 열립니다. 명령 편집하기에서 예시를 참조하세요.
변수 편집
콘솔 네임스페이스에 인수가 있는 경우 edit
를 사용하여 업데이트할 수 있습니다.
var albums = [ ]; edit albums
albums
변수가 첫 번째 줄에 설정됩니다.두 번째 줄은 외부 편집기를 열어
albums
값을 편집합니다.
명령문 편집
외부 편집기에서 문을 편집하려면 db.collection.insertMany()
와 같은 문과 함께 edit
를 호출합니다.
edit db.digits.insertMany( [] )
db.music.insertMany( [] )
를 편집하고 외부 편집기를 종료한 후 mongosh
콘솔은 다음과 같이 표시될 수 있습니다.
prompt> db.digits.insertMany([{ "zero": 0 }, { "one": 1 }, { "two": 2 }])
외부 편집기를 종료하면 실행 준비 상태인 콘솔 입력줄에 명령문이 복사됩니다. 자동으로 실행되지 않습니다. 명령문을 실행하려면 <enter>
, 취소하려면 <ctrl> + c
를 누릅니다.
내장 편집기 사용하기.
.editor
명령은 기본적인 여러 줄 편집 기능을 제공합니다.
편집기는 코드를 저장하지 않습니다. 내장 편집기를 닫으면 편집 내용이 전역 범위에 로드됩니다. 편집에서 함수나 명령을 호출하는 경우 편집기를 닫으면 해당 함수가 실행됩니다.
내장 편집기는 다음과 같은 방법으로 시작합니다.
.editor
<ctrl> + d
를 입력하여 종료하고 함수를 실행하세요.
내장된 편집기 사용을 참조하세요.
예시
외부 편집기 설정
mongosh
를 실행하는 셸에 EDITOR
환경 변수가 설정되어 있으면 edit
명령은 해당 편집기를 사용합니다.
mongosh
editor
속성도 설정되어 있으면 mongosh
는 해당 프로그램을 대신 사용합니다. editor
속성이 EDITOR
환경 변수를 재정의합니다.
EDITOR
환경 변수 설정
환경 변수를 설정한 후 mongosh
를 시작합니다.
bash
또는 zsh
에서 환경 변수를 설정합니다.
export EDITOR=vi
mongosh
콘솔에서 edit
을 실행하면 vi
편집기가 열립니다.
editor
속성 설정
mongosh
에서 nano
를 설정하려면 config.set() 명령을 사용합니다.
config.set( "editor", "nano" )
mongosh
콘솔에서 edit
을 실행하면 nano
편집기가 열립니다.
참고
mongosh
가 구성된 프로그램을 사용하려고 시도합니다. less
같은 프로그램이 작동합니다. grep
등 다른 프로그램은 충돌을 유발하거나 예기치 않은 결과를 초래할 수 있습니다.
명령 편집하기
edit
을 사용하여 편집 세션을 시작합니다. 현재 콘솔 세션에서 편집기가 사용된 경우 마지막 편집 내용이 열립니다.
다음 문에 성명서 오류가 있습니다. 강조 표시된 줄에 쉼표가 누락되었습니다.
// 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" } ] )
예시를 설정하려면 다음을 수행합니다.
예시 코드를 복사합니다.
edit
을 입력하여 편집 세션을 시작합니다.예시 코드를 편집기에 붙여 넣습니다.
편집기를 종료합니다.
enter
키를 누릅니다.
편집기를 종료하면 예시 코드가 명령줄에 복사됩니다. mongosh
는 코드 실행 시 오류를 반환합니다.
예시 코드를 다시 불러오려면 인수 없이 edit
을 입력합니다.
// 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" } ])
편집하기 쉽도록 코드의 형식이 다시 지정됩니다. 이 경우 강조 표시된 줄에 쉼표가 누락되어 문서가 잘못 정렬됩니다.
Visual Studio를 외부 편집기로 사용
Visual Studio가 외부 편집기로 작동하려면 특수 매개 변수가 필요합니다. Visual Studio에서 --wait
을 사용하세요.
환경 변수 설정:
export EDITOR="/usr/local/bin/code --wait"
config.set()으로 편집기를 설정할 수도 있습니다. PATH
에 Visual Studio가 있는 경우 mongosh
를 열고 다음을 실행합니다.
config.set("editor", "code --wait")
Visual Studio를 사용하는 경우 MongoDB VS Code 확장을 사용할 수도 있습니다.
외부 편집기 설정 해제
mongosh
에서 editor
변수를 설정 해제합니다.
config.set("editor", null)
EDITOR
환경이 구성된 경우 이 환경도 설정 해제합니다. mongosh
에서 다음을 실행합니다.
process.env.EDITOR = ''
process.env
를 사용하여 EDITOR
설정을 해제하면 mongosh
종료 시 변경 내용이 유지되지 않습니다. 변경 사항을 영구적으로 유지하려면 셸에서 EDITOR
설정을 해제합니다.
내장 편집기 사용하기
편집기 시작:
.editor
mongosh
가 편집기 모드에 진입합니다. 아래와 같이 코드를 입력합니다.
// Entering editor mode (^D to finish, ^C to cancel) var albums = [ { "artist": "Beatles", "album": "Revolver" }, { "artist": "The Monkees", "album": "Head"} ] db.music.insertMany( albums )
편집기를 종료하려면
<ctrl> + d
를 눌러 종료하고 함수를 실행합니다.<ctrl> + c
를 눌러 함수를 실행하지 않고 종료합니다.
이 예시의 albums
와 같이 .editor
를 사용하여 선언된 객체는 전역 범위에 추가됩니다. .editor
가 종료된 이후에 사용할 수 있습니다.