Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
루비 드라이버
/

연결 대상 선택

이 가이드 에서는 연결 string 과 Mongo::Client 객체 를 사용하여 다양한 유형의 MongoDB deployment에 연결하는 방법을 학습 수 있습니다.

MongoDB 에서 deployment에 Atlas 연결하려면 연결 에 다음 요소를 string 포함하세요.

  • Atlas cluster의 URL

  • MongoDB 사용자 이름

  • MongoDB 비밀번호

그런 다음 연결 string 을 Mongo::Client 생성자에 전달합니다.

Atlas 드라이버 연결 가이드 에 따라 연결 string 을 검색합니다.

Atlas 에 연결할 때 Stable API 클라이언트 옵션을 사용하여 Atlas 를 새 버전의 MongoDB Server 로 업그레이드할 때 호환성이 손상되는 변경을 방지하는 것이 좋습니다. Stable API 기능 에 학습 보려면 Stable API 가이드 를 참조하세요.

다음 코드는 Ruby 운전자 사용하여 Atlas cluster 에 연결하는 방법을 보여줍니다. 또한 이 코드는 server_api 필드 사용하여 Stable API 버전을 지정합니다.

require 'mongo'
# Replace the placeholders with your credentials
uri = "<connection string>"
# Sets the server_api field of the options object to Stable API version 1
options = { server_api: { version: '1' } }
# Creates a new client and connect to the server
client = Mongo::Client.new(uri, options)
# Sends a ping to confirm a successful connection
begin
admin_client = client.use('admin')
result = admin_client.database.command(ping: 1).documents.first
puts "Pinged your deployment. You successfully connected to MongoDB!"
rescue Mongo::Error::OperationFailure => ex
puts ex
ensure
client.close
end

로컬 독립형 MongoDB deployment 서버 의 호스팅하다 지정합니다. 선택적으로 연결할 서버 및 데이터베이스 의 포트를 지정합니다. 포트를 지정하지 않으면 기본값 포트는 27017입니다. 데이터베이스 이름을 지정하지 않으면 클라이언트 admin 데이터베이스 사용합니다.

Mongo::Client.new([ 'host1:27017' ], database: 'mydb')

연결 문자열 사용하여 연결할 호스팅하다, 포트 및 데이터베이스 지정할 수도 있습니다.

Mongo::Client.new("mongodb://host1:27017/mydb")

호스팅하다 localhost(으)로 지정할 수도 있습니다. 다음 코드 예시 기본값 포트인 27017에서 localhost 에 연결합니다.

client = Mongo::Client.new(["localhost"])

복제본 세트 에 연결하려면 복제본 세트 의 일부인 모든 노드를 지정하는 것이 좋습니다. 하나 이상의 노드를 사용할 수 없게 되는 이벤트 모든 노드를 지정하면 하나의 노드 사용할 수 있는 한 운전자 복제본 세트 에 계속 연결할 수 있습니다.

그러나 복제본 세트 에 있는 한 노드 의 주소 를 운전자 에 전달하는 것으로 충분합니다. 노드 프라이머리 일 필요는 없으며 숨겨진 노드 일 수 있습니다. 그러면 운전자 나머지 노드를 자동으로 검색합니다.

다음 예시 에서는 복제본 세트 의 세 멤버를 지정하는 방법을 보여줍니다.

Mongo::Client.new([ 'host1:27017', 'host2:27018', `host3:21019` ], database: 'mydb')

다음 예시 연결 문자열 사용하여 복제본 세트 에 연결하는 방법을 보여 줍니다.

Mongo::Client.new("mongodb://host1:27017,host2:27018,host3:27019/mydb")

다음 예시 replica_set 옵션 또는 replicaSet 연결 문자열 옵션을 사용하여 연결 시 복제본 세트 이름을 확인하는 방법을 보여 줍니다.

Mongo::Client.new([ 'host1:27017', 'host2:27018', 'host3:27019' ],
database: 'mydb', replica_set: 'myapp')
# Or by using a connection string:
Mongo::Client.new("mongodb://host1:27017,host2:27018,host3:27019/mydb?replicaSet=myapp")

참고

Docker에서의 복제본 세트

복제본 세트 Docker 에서 실행되면 MongoDB 엔드포인트를 하나만 노출할 수 있습니다. 이 경우 복제본 세트 검색할 수 없습니다. 연결 URI에 directConnection=false 을(를) 지정하거나 이 옵션을 설정하지 않은 상태로 두면 애플리케이션 연결 URI에 연결되지 않을 수 있습니다.

테스트 또는 개발 환경에서 directConnection=true를 지정하여 복제본 세트에 연결할 수 있습니다. 프로덕션 환경에서는 Docker 가상 네트워크 외부에서 각 MongoDB 인스턴스에 액세스할 수 있도록 클러스터를 구성하는 것이 좋습니다.

Ruby 운전자 사용하여 Mongo::Client 객체 만드는 방법에 대해 자세히 학습하려면 Mongo::Client 에 대한 API 설명서를 참조하세요.

돌아가기

Stable API

이 페이지의 내용