Latest web development tutorials

MongoDB를 연결

이 튜토리얼에서 우리는 MongoDB를위한 다른 커넥터를 설명합니다.


MongoDB의 서비스를 시작합니다

이전 튜토리얼에서, 우리가 논의한 MongoDB를 서버 시작하는 방법 서비스를, 당신은 단지 bin 디렉토리 MongoDB를 설치 디렉토리에있을 수 있습니다 'mongod'을 수행해야합니다.

개시 조작 후, 출력 정보는 다음 연결을 기다릴 것이다 일부 필요한 정보 후 MongoDB의 출력은 연결이 확립 될 때, 인쇄 이력 정보를 시작할 것이다 확립된다.

당신은 서버에 연결하기 위해 MongoDB를 MongoDB의 쉘을 사용할 수 있습니다. 또한 MongoDB를 연결하기 위해 PHP를 사용할 수 있습니다. 우리는 MongoDB의 쉘 MongoDB를 서비스에 연결하는 데 사용할이 튜토리얼은 다음 장 우리는 PHP를 통해 MongoDB를 서비스에 연결하는 방법을 설명합니다.



쉘을 통해 MongoDB를 연결 서비스

다음 명령을 실행하여 MongoDB의 서비스를 연결할 수 있습니다.

참고 : 로컬 호스트가 호스트 이름이며,이 옵션이 필요합니다 :

MongoDB를 : // localhost를

위의 명령을 실행하면 다음과 같은 출력을 볼 수 있습니다

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> mongodb://localhostmongodb://localhost
... 

당신이 MongoDB를 서버에 대한 연결을 볼 수있는 곳에서, 실행 ./mongod 명령 창을 다시 확인이 시간, 당신은 다음과 같은 정보를 볼 수 있습니다

……省略信息……
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를 연결 구문

'암호 @ 호스트 이름 / DBNAME 사용자 이름 MongoDB를 서버에 연결하기 위해 사용자 이름과 암호를 사용하여 사용해야합니다 ' 암호 같은 형식으로, '이름'이름 '암호'.

사용자 로그인 이름과 암호는 기본 데이터베이스에 연결 :

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
mongodb://admin:123456@localhost/

위의 명령, 사용자 관리자 암호 123456 로컬 MongoDB를 서비스에 연결합니다. 출력은 다음과 같습니다 <P>

> mongodb://admin:123456@localhost/
... 

사용자 로그인 이름과 암호는 지정된 데이터베이스에 연결 :

다음과 같은 형식으로 지정된 데이터베이스에 연결 :

MongoDB를 : // 관리자 : 123456 @ localhost를 / 테스트


연결의 더 많은 예제

로컬 데이터베이스 서버에 연결 포트가 기본값입니다.

MongoDB를 : // localhost를

사용자 이름 프레드는 관리 데이터베이스 로컬 호스트 암호는 foobar 로그인.

MongoDB를 : // 프레드 :는 foobar @ localhost를

사용자 이름 프레드는, 암호는 foobar의 로컬 호스트 바즈의 데이터베이스를 로그인합니다.

MongoDB를 : // 프레드 :는 foobar @ localhost를 / 바즈

연결 복제 쌍, 서버 1 example1.com 서버 (2) 예 2.

MongoDB를 : //example1.com : 27017, example2.com : 27017

연결 복제는 세 개의 서버 (포트 27017, 27018 및 27019)를 설정합니다

MongoDB를 : // localhost를 로컬 호스트 : 로컬 호스트, 27018 : 27019

연결 복제는 3 개의 서버를 설정 한 기본 응용 프로그램 서버에 기록하고 서버에 쿼리를 배포했습니다.

MongoDB를 : // host1의, host2의,이 host3 / slaveOk = 사실?

첫 번째 서버에 직접 연결, 그것은 복제 세트의 일부 또는 주 서버 또는 서버에서인지.

MongoDB를 : // host1의, host2의,이 host3 / = 연결하는 직접, 사실 slaveOk =를?

당신은 서버가 우선 순위가뿐만 아니라, 모든 서버를 나열 할 필요에 연결하면 연결 모드를 사용할 수 있습니다.

안전 모드는 로컬 호스트에 연결 :

MongoDB를 :? // 로컬 호스트 / 안전 = 사실

안전 모드는 복제 세트에 연결하고, 두 개 이상의 서면 성공적으로 복제 서버를 대기 이초에 시간 제한을 설정합니다.

MongoDB를 : // host1의, host2의,이 host3 / 안전 = TRUE = 2000 wtimeoutMS 2 = w?


매개 변수 옵션 설명

표준 형식 :

MongoDB를 : // [사용자 이름 : 암호 @] host1의의 [: 포트 1], host2의의 [: PORT2], ... [hostN [: portN]]] [/ [데이터베이스] [옵션]?]

다음과 같이 표준 연결 형식은 몇 가지 옵션 (옵션)를 포함합니다 :

옵션 기술
replicaSet = 이름 복제 세트의 이름을 확인합니다. Impliesconnect = replicaSet.
slaveOk = 참 | 거짓
  • 사실 : 연결 = 다이렉트 모드에서 구동은 주 서버가 아닌 경우에도, 제 시스템에 연결된다. 연결 = replicaSet 모드에서, 드라이버는 모든 주 서버로부터의 판독 동작에 위치한 다른 쓰기 요청을 보낼 것이다.
  • 거짓 : 아래에서 자동으로 연결 = replicaSet 모드에서 주 서버를 찾을 수 드라이브가 드라이브 만 메인 서버에 연결된 = 다이렉트 모드를 연결하고 모든 읽고 명령이 주 서버에 연결되어있는 물품.
안전 = 참 | 거짓
    • 사실 : 업데이트 작업 후, 드라이브는 업데이트가 성공했는지 확인하기 위해 GetLastError를 명령을 보냅니다. (또한 wtimeoutMS 참조).
거짓 : 각 업데이트 후, 드라이버가 업데이트 성공을 보장하기 위해 GetLastError를 전송하지 않습니다.
w = N {W : N} 추가 드라이브 명령은 진정한 = 안전 GetLastError를 적용 ..
wtimeoutMS의 = 밀리 초 추가 드라이브 {wtimeout : MS} 명령은 진정한 = 안전 GetLastError를 적용 ..
fsync를 = 참 | 거짓
  • 사실 : 추가 운전 {fsync를 : 사실} GetLastError를 명령에 해당 = 안전에 적용됩니다..
  • 거짓 : 드라이브는 GetLastError를 명령에 추가되지 않습니다.
저널 = 참 | 거짓 (엔티티에 제출하기 전에 데이터베이스에 기록에) 저널에 동기화, true로 설정합니다. 진정한 = 안전에 적용
connectTimeoutMS의 = 밀리 초 당신은 연결 시간을 열 수 있습니다.
socketTimeoutMS의 = 밀리 초 보내기 및 시간의 소켓을받을 수 있습니다.