몽고DB 연결
이 튜토리얼에서는 MongoDB의 다양한 연결 방법에 대해 설명합니다.
MongoDB 서비스 시작
이전 튜토리얼에서MongoDB 서비스를 시작하는 방법에 대해 설명했습니다. MongoDB 설치 디렉토리에서 'mongod'를 실행하세요.
mongodb는 시작 작업을 실행한 후 필요한 일부 정보를 출력한 후 아무런 정보도 출력하지 않고 연결이 설정될 때까지 기다립니다. 연결이 설정되면 로그 정보가 인쇄되기 시작합니다.
MongoDB 쉘을 사용하여 MongoDB 서버에 연결할 수 있습니다. PHP를 사용하여 MongoDB에 연결할 수도 있습니다. 이 튜토리얼에서는 MongoDB 쉘을 사용하여 MongoDB 서비스에 연결합니다. 다음 장에서는 PHP를 통해 MongoDB 서비스에 연결하는 방법을 소개합니다.
쉘을 통해 MongoDB 서비스에 접속합니다.
다음 명령어를 실행하면 MongoDB 서비스에 접속할 수 있습니다.
참고: localhost는 호스트 이름이며 이 옵션은 필수입니다.
위 명령어를 실행하면 다음과 같은 출력을 볼 수 있다.
$ ./mongo MongoDB shell version: 3.0.6 connecting to: test > mongodb://localhostmongodb://localhost ...
이때 ./mongod 명령어를 실행한 창으로 돌아가서 어디로 접속해야 하는지 알 수 있다. MongoDB 서버를 사용하면 다음 정보를 볼 수 있습니다.
……省略信息…… 2015-09-25T17:22:27.336+0800 I CONTROL [initandlisten] allocator: tcmalloc 2015-09-25T17:22:27.336+0800 I CONTROL [initandlisten] options: { storage: { dbPath: "/data/db" } } 2015-09-25T17:22:27.350+0800 I NETWORK [initandlisten] waiting for connections on port 27017 2015-09-25T17:22:36.012+0800 I NETWORK [initandlisten] connection accepted from 127.0.0.1:37310 #1 (1 connection now open) # 该行表明一个来自本机的连接 ……省略信息……
MongoDB 연결 명령 형식
사용자 이름과 비밀번호를 사용하여 MongoDB 서버에 연결해야 합니다. username:password @hostname/dbname' 형식, 'username'은 사용자 이름, 'password'는 비밀번호입니다.
사용자 이름과 비밀번호를 사용하여 기본 데이터베이스에 연결합니다:
$ ./mongo MongoDB shell version: 3.0.6 connecting to: test mongodb://admin:123456@localhost/
위 명령에서 사용자 admin은 비밀번호 123456을 사용하여 로컬 MongoDB 서비스에 연결합니다. 출력 결과는 다음과 같습니다. <, p>
> mongodb://admin:123456@localhost/ ...
사용자 이름과 비밀번호를 사용하여 지정된 데이터베이스에 연결하고 로그인합니다.
지정된 데이터베이스에 연결하는 형식은 다음과 같습니다. 다음:
추가 연결 예
로컬에 연결 데이터베이스 서버의 경우 포트가 기본값입니다.
사용자 이름 fred와 비밀번호 foobar를 사용하여 localhost의 관리 데이터베이스에 로그인합니다.
사용자 이름 fred와 비밀번호 foobar를 사용하여 localhost의 baz 데이터베이스에 로그인합니다.
Replica 쌍을 연결합니다. 서버 1은 example1.com 서버 2는 example2입니다.
복제본 세트를 세 개의 서버(포트 27017, 27018 및 27019)에 연결합니다.
Replica set을 3개의 서버에 연결하면 마스터 서버에 쓰기 작업이 적용되고 쿼리는 다음과 같습니다. 슬레이브 서버에 배포됩니다.
복제 세트의 일부인지, 마스터 서버인지, 슬레이브 서버인지에 관계없이 첫 번째 서버에 직접 연결합니다.
연결 서버에 우선 순위가 있는 경우 모든 서버도 나열해야 합니다. , 위의 연결 방법을 사용할 수 있습니다.
안전 모드에서 로컬 호스트에 연결:
안전 모드에서 복제본 세트에 연결하고 기다립니다. 두 개 이상의 복제 서버가 성공적으로 쓰기를 수행했으며 시간 초과가 2초로 설정되었습니다.
매개변수 옵션 설명
표준 형식:
표준 연결 형식에는 아래와 같이 여러 옵션(옵션)이 포함되어 있습니다.
옵션 | 설명 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
replicaSet=name | 복제본 세트 이름을 확인하세요. Impliesconnect=replicaSet. | ||||||||||||||||||||
slaveOk=true|false |
| ||||||||||||||||||||
safe=true|false |
| ||||||||||||||||||||
w=n | 드라이버는 getLastError 명령에 { w : n }을 추가합니다. safe=true에 적용됩니다. | ||||||||||||||||||||
wtimeoutMS=ms | 드라이버는 getlasterror 명령에 { wtimeout : ms }를 추가합니다. safe=true에 적용됩니다. | fsync=true|false |
| ||||||||||||||||||
journal=true|false | true로 설정하면 저널에 동기화합니다(데이터베이스에 제출하기 전). 이전 엔터티에 기록됨) safe=true에 적용됩니다. | ||||||||||||||||||||
connectTimeoutMS=ms | 연결을 열 수 있는 시간입니다. | ||||||||||||||||||||
socketTimeoutMS=ms | 소켓을 보내고 받는 시간입니다. |