Post List

2015년 9월 17일 목요일

MongoDB Study #25 MongoDB C# 연동하기 part 1 설치 및 접속

* MongoDB C# Driver 종류

MongoDB 의 C# Driver 는 1 버전과 2 버전이 있습니다.
1. 으로 시작하는 것은 예전과 같은 동기방식 (synchronous) 입니다.
2. 으로 시작하는 것은 비동기방식 (asynchronous) 입니다.

MongoDB 공식 홈페이지인 https://www.mongodb.org 에는 강려크 하게 2.0 버전에 대한 Driver 소개와 사용법을 소개하면서 그렇게 하도록 사용자를 푸시하고 있는데, 말리시면 안됩니다. 거기에 말리면 저 같이 시간 낭비만 죽도록 하고, 아~ 이건 잘 안되는구나. 란 것만 몸소 체험 할 수 있습니다. 물론 제 내공이 비동기 방식을 연마하기에 부족한 것일 수도 있겠죠.

비동기 방식으로 DML 쪽 작업 (insert, update, remove)은 잘되던데, query 수행은 제대로 값을 못가져 오더라구요.

1.0 대의 Driver로는 모든것이 쾌적하게 잘됩니다. 아주 잘됩니다.
아무래도 MongoDB 자체가 Big Data를 다루는게 주 목적이다 보니 async 로 작업하는게 좋겠지만, 아직까지 해당 Driver를 도입하기에는 제대로 구현되지 않았다고 봐야 겠네요.

그래서 결국은 1.0 버전대의 Driver를 다운받아서 자료를 찾아가면서 정리하였습니다.

* C# Driver 1.10.1 설치

다운로드 : https://github.com/mongodb/mongo-csharp-driver/releases

에서 1.10.1 을 다운로드 받으시면 됩니다.



압축을 푸셔서 MongoDB.Bson.dll , MongoDB.Driver.dll 2개의 파일을 사용할 project에서 references 에 추가하시면 됩니다.

* 접속

긴 설명 필요없이 그냥 아래와 같이 하시면 됩니다.

string connectionString = "mongodb://localhost";  // connection string : "mongodb://sys:mongo@localhost:27017/test"
MongoClient client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase database = server.GetDatabase("test");

예제라서 앞에 타입형식을 다 적어주었지만, 그냥 var 로 선언해서 사용하는 경우가 많습니다.
뒤에 포스팅에서 다루겠지만, 정형화된 document를 다루는 경우는 타입을 다 적어주는 것이 가능하지만, 비정형화된 document를 다룰때 하나하나 타입을 다 외워서 적어주는건 힘듭니다.
꼭 적어야 겠다면 일단 var 로 적어서 코드를 작성 후에 제대로 동작하는 것을 확인 한 후에 해당 객체에 마우스를 올리면 Visual Studio가 진철하게 타입을 알려줍니다. 그것을 확인 한 다음에 앞에 var을 지우시고 해당 타입으로 적어주시면 됩니다.

string connectionString = "mongodb://localhost";  // connection string : "mongodb://sys:mongo@localhost:27017/test"
var client = new MongoClient(connectionString);
var server = client.GetServer();
var database = server.GetDatabase("test");

아니면 그냥 한줄로도 가능하구요.

var database = new MongoClient("mongodb://localhost").GetServer().GetDatabase("test");

다음 포스팅에서 정형화된 document에 대해서 select, insert, update, delete 하는 법에 대해서 다루겠습니다.

* 예제코드

댓글 없음:

댓글 쓰기