개요
이 가이드 에서는 연결 string 과 MongoClient 객체 를 사용하여 다양한 유형의 MongoDB deployment에 연결하는 방법을 학습 수 있습니다.
팁
연결 문자열 조회 방법에 대해 자세히 학습 Atlas 문서에서Connect via Drivers(드라이버를 통한 연결) 가이드 참조하세요.
Atlas
MongoDB 에서 deployment에 Atlas 연결하려면 연결 에 다음 요소를 string 포함하세요.
Atlas cluster의 URL
MongoDB 사용자 이름
MongoDB 비밀번호
그런 다음 연결 string 을 MongoClient 생성자에 전달합니다.
Atlas 에 연결할 때 Stable API 클라이언트 옵션을 사용하여 Atlas 를 새 버전의 MongoDB Server 로 업그레이드할 때 호환성이 손상되는 변경을 방지하는 것이 좋습니다. Stable API 기능 에 학습 보려면 Stable API 가이드 를 참조하세요.
다음 코드는 Node.js 운전자 사용하여 Atlas cluster 에 연결하는 방법을 보여줍니다. 또한 이 코드는 server_api 필드 사용하여 Stable API 버전을 지정합니다.
const { MongoClient, ServerApiVersion } = require("mongodb"); // Replace the placeholder with your Atlas connection string const uri = "<connection string>"; // Creates a MongoClient with a MongoClientOptions object to set the Stable API version const client = new MongoClient(uri, { serverApi: { version: ServerApiVersion.v1, strict: true, deprecationErrors: true, } } ); async function run() { try { // Connects the client to the server (optional starting in v4.7) await client.connect(); // Sends a ping to confirm a successful connection await client.db("admin").command({ ping: 1 }); console.log("Pinged your deployment. You successfully connected to MongoDB!"); } finally { // Ensures that the client will close when you finish/error await client.close(); } } run().catch(console.dir);
로컬 배포
로컬 독립형 MongoDB deployment 서버 의 호스팅하다 지정합니다. 선택적으로 서버 의 포트를 지정합니다. 포트를 지정하지 않으면 기본값 포트는 27017입니다.
다음 코드와 같이 연결 문자열 사용하여 연결할 호스팅하다 와 포트를 지정할 수 있습니다.
const client = new MongoClient("mongodb://host1:27017");
호스팅하다 localhost(으)로 지정할 수도 있습니다. 다음 코드 예시 지정된 포트의 localhost 에 연결합니다.
const client = new MongoClient("mongodb://localhost:27017");
복제본 세트
복제본 세트 에 연결하려면 복제본 세트 의 일부인 모든 노드를 지정하는 것이 좋습니다. 하나 이상의 노드를 사용할 수 없게 되는 경우 모든 노드를 지정하면 하나의 노드 사용할 수 있는 경우 운전자 복제본 세트 에 계속 연결할 수 있습니다.
그러나 복제본 세트 에 있는 한 노드 의 주소 를 운전자 에 전달하는 것으로 충분합니다. 노드 프라이머리 일 필요는 없으며 숨겨진 노드 일 수 있습니다. 그러면 운전자 나머지 노드를 자동으로 검색합니다.
다음 예시 연결 문자열 사용하여 복제본 세트 에 연결하는 방법과 replicaSet 연결 문자열 옵션을 사용하여 연결 시 복제본 세트 이름을 확인하는 방법을 보여 줍니다.
const client = new MongoClient("mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRs");
참고
Docker에서의 복제본 세트
복제본 세트 Docker 에서 실행되면 MongoDB 엔드포인트를 하나만 노출할 수 있습니다. 이 경우 복제본 세트 검색할 수 없습니다. 연결 URI에 directConnection=false 을(를) 지정하거나 이 옵션을 설정하지 않은 상태로 두면 애플리케이션 연결 URI에 연결되지 않을 수 있습니다.
테스트 또는 개발 환경에서 directConnection=true를 지정하여 복제본 세트에 연결할 수 있습니다. 프로덕션 환경에서는 Docker 가상 네트워크 외부에서 각 MongoDB 인스턴스에 액세스할 수 있도록 클러스터를 구성하는 것이 좋습니다.
API 문서
Node.js 운전자 사용하여 MongoClient 객체 만드는 방법에 대해 자세히 학습하려면 MongoClient에 대한 API 설명서를 참조하세요.