잊지 않겠습니다.

개인적 관심사로 NoSQL중 RDBMS와 가장 유사하기도 하고, 중대용량에 적합하다고 하는 mongodb를 좀 건드려봤다. 
http://mongodb.org 에서 BSON driver를 다운 받고, driver를 이용하면 매우 쉽게 mongodb를 handling할 수 있다.


간단한 test code들은 다음과 같다.

 
[TestFixture]
public class MongoDbTest
{
    [Test]
    public void CreateSchema()
    {
        string connectionString = "mongodb://localhost";
        //서버 접속
        MongoServer server = MongoServer.Create(connectionString);

        //Database 이름 설정
        var dbSetting = server.CreateDatabaseSettings("mongoDbTest2");
        dbSetting.Credentials = new MongoCredentials("ykyoon", "newPassword");
        var db = server.GetDatabase(dbSetting);

        Assert.That(db != null);

        //Create Table
        db.CreateCollection("NewCollection");
        var collection = db.GetCollection("NewCollection");
    }

    [Test]
    public void InsertTest()
    {
        string connectionString = "mongodb://localhost";
        MongoServer server = MongoServer.Create(connectionString);

        var data01 = new BsonDocument();
        data01.Add("author", "ykyoon");
        data01.Add("name", "first bsonDocument");

        //var dbSetting = server.CreateDatabaseSettings("mongoDbTest");
        //var dbNames = server.GetDatabaseNames();

        var db = server.GetDatabase("mongoDbTest");
        //db.CreateCollection("Users");

        var userCollection = db.GetCollection("Users");
        userCollection.Insert(data01);

        Assert.That(server.DatabaseExists("mongoDbTest"));
    }

    [Test]
    public void SelectTest()
    {
        var connectionString = "mongodb://localhost";
        MongoServer server = MongoServer.Create(connectionString);
        var db = server.GetDatabase("mongoDbTest");

        var userCollection = db.GetCollection("Users");
        var qq = Query.EQ("author", "ykyoon");

        var users = userCollection.Find(qq);
        foreach(var user in users)
        {
            Console.WriteLine(user);
        }
    }
}
Posted by Y2K
,