Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

mongo shell 빠른 참고

이 페이지의 내용

  • mongo shell 명령 기록
  • 명령줄 옵션
  • 명령 도우미
  • 기본 shell JavaScript 작업
  • 키보드 단축키
  • 쿼리
  • 오류 검사 메서드
  • 관리 명령 도우미
  • 추가 연결 열기
  • 기타
  • 추가 리소스

경고

다음 문서 는 mongo shell MongoDB Server 다운로드 에 포함된 과 관련이 있습니다. 새로운 MongoDB Shell (mongosh)에 대한 자세한 내용은 mongosh 설명서를 참조하세요.

두 셸의 차이점을 이해하려면 mongo shell 과 mongosh 비교를 참조하세요.

위쪽 및 아래쪽 화살표 키를 사용하여 mongo shell 에서 실행된 이전 명령을 검색할 수 있습니다. 명령 기록은 ~/.dbshell 파일에 저장됩니다. .dbshell을 참조하세요. 을(를) 참조하세요.

mongo shell 은 다양한 옵션으로 시작할 수 있습니다. 사용 가능한 모든 옵션에 대한 자세한 내용은 mongo shell 페이지를 참조하세요.

다음 표에는 mongo 에 대한 몇 가지 일반적인 옵션이 표시되어 있습니다.

옵션
설명
명령줄 옵션 표시

데이터베이스에 연결하지 않고 mongo shell 을 시작합니다.

나중에 연결하려면 새 연결 열기를 참조하세요.

JavaScript 파일과 함께 사용됩니다(예: <file.js>) 파일을 실행한 후 에서 계속 진행합니다.mongo shell JavaScript

예제는 JavaScript 파일 을 참조하세요.

mongo shell 은 다양한 도움말을 제공합니다. 다음 표에는 몇 가지 일반적인 도움말 메서드 및 명령이 나와 있습니다.

도움말 메서드 및 명령
설명
help
도움말을 표시합니다.
데이터베이스 메서드에 대한 도움말을 표시합니다.
컬렉션 메서드에 대한 도움말을 표시합니다. <collection> 는 기존 컬렉션 또는 존재하지 않는 컬렉션의 이름일 수 있습니다.
show dbs

서버의 모든 데이터베이스 목록을 인쇄합니다.

이 작업은 listDatabases 명령에 해당합니다. 액세스 제어를 사용하여 배포를 실행하는 경우 작업은 사용자 권한에 따라 다른 값을 반환합니다. 자세한 내용은 listDatabases 동작 을 참조하세요.

use <db>
현재 데이터베이스를 <db> 로 전환합니다. mongo shell 변수 db 이(가) 현재 데이터베이스로 설정되어 있습니다.
show collections
현재 데이터베이스의 모든 컬렉션 목록을 인쇄합니다.
show users
현재 데이터베이스의 사용자 목록을 인쇄합니다.
show roles
현재 데이터베이스에 대해 사용자 정의 및 기본 제공 역할의 모든 목록을 인쇄합니다.
show profile
1 밀리초 이상 소요된 가장 최근 작업 5건을 출력합니다. 자세한 내용은 데이터베이스 프로파일러 에 대한 설명서를 참조하세요.
show databases

사용 가능한 모든 데이터베이스 목록을 인쇄합니다.

이 작업은 listDatabases 명령에 해당합니다. 액세스 제어를 사용하여 배포를 실행하는 경우 작업은 사용자 권한에 따라 다른 값을 반환합니다. 자세한 내용은 listDatabases 동작 을 참조하세요.

load()
JavaScript 파일을 실행합니다. 자세한 내용 mongo shell스크립트 쓰기 를 참조하세요.

mongo shell 은 데이터베이스 작업을 위한 JavaScript API 를 제공합니다.

mongo shell 에서 db 은 현재 데이터베이스를 참조하는 변수입니다. 변수는 자동으로 기본 데이터베이스 test 로 설정되거나 use <db> 를 사용하여 현재 데이터베이스를 전환할 때 설정됩니다.

다음 표에는 몇 가지 일반적인 JavaScript 작업이 나와 있습니다.

JavaScript 데이터베이스 작업
설명
보안 모드에서 실행하는 경우 사용자를 인증합니다.
coll = db.<collection>

다음 예제와 같이 현재 데이터베이스의 특정 컬렉션을 coll 변수로 설정합니다.

coll = db.myCollection;

다음 예시와 같이 변수를 사용하여 myCollection 에 대한 작업을 수행할 수 있습니다.

coll.find();

컬렉션의 모든 문서를 찾아 커서를 반환합니다.

자세한 내용과 예시는 db.collection.find()쿼리 문서 를 참조하세요.

에서의 mongosh 커서 처리에 대한 자세한 내용 mongo shell 은 에서 커서 반복하기를 참조하세요.

컬렉션에 새 문서를 삽입합니다.
컬렉션에 여러 개의 새 문서를 삽입합니다.
컬렉션에 있는 단일 기존 문서를 업데이트합니다.
컬렉션에 있는 여러 기존 문서를 업데이트합니다.
컬렉션에서 단일 문서를 삭제합니다.
컬렉션에서 문서를 삭제합니다.
컬렉션을 삭제하거나 완전히 제거합니다.
인덱스가 존재하지 않는 경우 컬렉션에 새 인덱스를 만듭니다. 그렇지 않으면 작업이 효과가 없습니다.
현재 데이터베이스를 명시적으로 전환하지 않고 동일한 연결을 사용하여 다른 데이터베이스에 대한 참조를 반환합니다. 이를 통해 데이터베이스 간 쿼리가 가능합니다.

shell 에서 작업을 수행하는 방법에 대한 자세한 내용은 다음을 참조하세요.

mongo shell 은 bash shell 또는 Emacs에 있는 것과 유사한 대부분의 키보드 단축키를 제공합니다. 일부 함수의 경우 mongo 는 여러 친숙한 패러다임을 수용하기 위해 여러 키 바인딩을 제공합니다.

다음 표에는 mongo shell 에서 지원하는 키 입력이 열거되어 있습니다.

키 입력
기능
위쪽 화살표
이전 기록
아래쪽 화살표
다음 기록
라인 시작
End
줄 끝
Tab
자동 완성 기능
왼쪽 화살표
역방향 문자
오른쪽 화살표
forward-character
Ctrl- 왼쪽 화살표
이전 단어
Ctrl-우측 화살표
forward-word
메타 왼쪽 화살표
이전 단어
메타 오른쪽 화살표
forward-word
Ctrl-A
라인 시작
Ctrl-B
backward-char
Ctrl-C
exit-shell
Ctrl-D
delete-char (또는 shell 종료)
Ctrl-E
줄 끝
Ctrl-F
forward-char
Ctrl-G
중단
Ctrl-J
accept-line
Ctrl-K
킬라인
Ctrl-L
클리어 스크린
Ctrl-M
accept-line
Ctrl-N
다음 기록
Ctrl-P
이전 기록
Ctrl-R
reverse-search-history
Ctrl-S
순방향 검색 기록
Ctrl-T
조옮김-문자
Ctrl-U
unix-line-discard
Ctrl-W
unix-word-rubout
Ctrl-Y
yank
Ctrl-Z
일시 중단(Linux에서 작업 제어 작동)
Ctrl-H(예 백스페이스)
backward-delete-char
Ctrl-I(예 탭)
complete
Meta-B
이전 단어
메타-C
대문자 표시
메타-D
kill-word
Meta-F
forward-word
Meta-L
downcase-word
Meta-U
upcase-word
메타-Y
yank-pop
메타-[백스페이스]
backward-kill-word
Meta-<
기록의 시작
Meta->
기록의 끝

mongo shell 에서 find()findOne() 메서드를 사용하여 읽기 작업을 수행합니다.

find() 메서드는 mongo shell 이 화면에 문서를 인쇄하기 위해 반복하는 커서 객체를 반환합니다. 기본적으로 mongo 은 첫 번째 20 을 인쇄합니다. mongo shell 은 다음 20 결과를 계속 반복하기 위해 사용자에게 "Type it"라는 메시지를 표시합니다.

다음 표에는 mongo shell 에서 수행되는 몇 가지 일반적인 읽기 작업이 나와 있습니다.

읽기 작업
설명

컬렉션에서 <query> 기준과 일치하는 문서를 찾습니다. <query> 기준이 지정되지 않았거나 비어 있는 경우(예: {} ), 읽기 작업은 컬렉션의 모든 문서를 선택합니다.

다음 예에서는 users 컬렉션에서 name 필드가 "Joe" 인 문서를 선택합니다.

coll = db.users;
coll.find( { name: "Joe" } );

<query> 기준 지정에 대한 자세한 내용은 동일성 조건 지정을 참조하세요.

<query> 기준과 일치하는 문서를 찾아 <projection> 의 특정 필드만 반환합니다.

다음 예제에서는 컬렉션에서 모든 문서를 선택하지만 name 필드와 _id 필드만 반환합니다. 반환하지 않도록 명시적으로 지정하지 않는 한 _id 가 항상 반환됩니다.

coll = db.users;
coll.find( { }, { name: true } );

<projection> 지정에 대한 자세한 내용 은 쿼리에서 반환할 프로젝트 필드를 참조하세요.

지정된 <sort order> 로 결과를 반환합니다.

다음 예시 에서는 컬렉션 에서 모든 문서를 선택하고 name 필드 를 기준으로 오름차순(1)으로 정렬된 결과를 반환합니다. 내림차순으로 정렬하려면 -1 를 사용합니다.

coll = db.users;
coll.find().sort( { name: 1 } );
지정된 <sort order><query> 기준과 일치하는 문서를 반환합니다.
결과를 <n> 행으로 제한합니다. 최상의 성능을 위해 특정 수의 행만 필요한 경우에 적극 권장합니다.
<n> 결과를 건너뜁니다.
컬렉션의 총 문서 수를 반환합니다.

쿼리와 일치하는 총 문서 수를 반환합니다.

count()limit()skip() 을(를) 무시합니다. 예를 들어 100 레코드가 일치하지만 제한이 10 인 경우 count() 은 100 을 반환합니다. 이렇게 하면 직접 반복하는 것보다 빠르지만 여전히 시간이 걸립니다.

단일 문서를 찾아 반환합니다. 찾을 수 없으면 null을 반환합니다.

다음 예제에서는 users 컬렉션에서 name 필드가 "Joe" 와 일치하는 단일 문서를 선택합니다.

coll = db.users;
coll.findOne( { name: "Joe" } );

내부적으로 findOne() 메서드는limit(1) 이 있는 find() 메서드입니다

자세한 내용과 예시는 쿼리 문서 문서를 참조하세요. 다른 쿼리 연산자를 지정하려면 쿼리 및 프로젝션 연산자 를 참조하세요.

mongo shell 쓰기 메서드는 쓰기 고려 를 메서드 실행에 직접 통합하고 쓰기 오류 및 쓰기 고려 오류를 포함한 작업 결과가 포함된 WriteResult() 객체를 반환합니다.

다음 표에는 데이터베이스 관리를 지원하는 몇 가지 일반적인 방법이 나열되어 있습니다.

JavaScript 데이터베이스 관리 메서드
설명
컬렉션 이름을 fromColl 에서 <toColl> 로 변경합니다. 이름 지정 제한을 참조하세요.
현재 데이터베이스에 있는 모든 컬렉션의 목록을 가져옵니다.
현재 데이터베이스를 삭제합니다.

전체 메서드 목록은 관리 데이터베이스 메서드 를 참조하세요.

mongo shell 내에서 새 연결을 만들 수 있습니다.

다음 표에는 연결을 생성하는 방법이 나와 있습니다.

JavaScript 연결 생성 메서드
설명
db = connect("<host><:port>/<dbname>")
새 데이터베이스 연결을 엽니다.
conn = new Mongo()
db = conn.getDB("dbname")

new Mongo() 을(를) 사용하여 새 서버에 대한 연결을 엽니다.

연결의 getDB() 메서드를 사용하여 데이터베이스를 선택합니다.

내에서 새 연결을 여는 방법에 대한 자세한 내용은 mongo shell 새 연결 열기 를 참조하세요.

다음 표에는 몇 가지 기타 메서드가 나와 있습니다.

메서드
설명
Object.bsonsize(<document>)
BSON 크기를 <document> 바이트 단위로 출력합니다.

mongo shell 과 해당 인터페이스를 설명하는 다음 참고 자료를 살펴보세요.

또한 MongoDB 소스 코드 리포지토리 에는 jstests 디렉토리mongo shell 포함되어 있습니다. 여기에는 다양한 스크립트가 포함되어 있습니다.

돌아가기

_rand()