Docs Menu
Docs Home
/
MongoDB Shell
/

에디터를 사용하여 명령어 실행하기

이 페이지의 내용

  • 외부 편집기 사용
  • 내장 편집기 사용하기.
  • 예시

mongosh 콘솔은 라인 지향적입니다. 그러나 편집기를 사용하여 여러 줄 함수로 작업할 수도 있습니다. 두 가지 옵션이 있습니다.

  • 외부 편집기에서 edit 명령을 사용합니다.

  • 내장된 편집기.editor 명령을 사용합니다.

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 환경 변수를 재정의합니다.

환경 변수를 설정한 후 mongosh를 시작합니다.

bash 또는 zsh에서 환경 변수를 설정합니다.

export EDITOR=vi

mongosh 콘솔에서 edit을 실행하면 vi 편집기가 열립니다.

참고

.mongosh에서 process.env.<VARIABLE>을 사용하여 환경 변수를 설정할 수도 있습니다.

mongosh에서 편집기 환경 변수를 설정합니다.

process.env.EDITOR = 'nano'

환경 변수는 현재 mongosh에 대해서만 업데이트됩니다. mongosh가 종료되면 업데이트가 유지되지 않습니다.

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" }
] )

예시를 설정하려면 다음을 수행합니다.

  1. 예시 코드를 복사합니다.

  2. edit 을 입력하여 편집 세션을 시작합니다.

  3. 예시 코드를 편집기에 붙여 넣습니다.

  4. 편집기를 종료합니다.

  5. 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에서 --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가 종료된 이후에 사용할 수 있습니다.

돌아가기

구성