개인적 관심사로 NoSQL중 RDBMS와 가장 유사하기도 하고, 중대용량에 적합하다고 하는 mongodb를 좀 건드려봤다.
http://mongodb.org 에서 BSON driver를 다운 받고, driver를 이용하면 매우 쉽게 mongodb를 handling할 수 있다.
간단한 test code들은 다음과 같다.
http://mongodb.org 에서 BSON driver를 다운 받고, driver를 이용하면 매우 쉽게 mongodb를 handling할 수 있다.
간단한 test code들은 다음과 같다.
01.
[TestFixture]
02.
public
class
MongoDbTest
03.
{
04.
[Test]
05.
public
void
CreateSchema()
06.
{
07.
string
connectionString =
"mongodb://localhost"
;
08.
//서버 접속
09.
MongoServer server = MongoServer.Create(connectionString);
10.
11.
//Database 이름 설정
12.
var dbSetting = server.CreateDatabaseSettings(
"mongoDbTest2"
);
13.
dbSetting.Credentials =
new
MongoCredentials(
"ykyoon"
,
"newPassword"
);
14.
var db = server.GetDatabase(dbSetting);
15.
16.
Assert.That(db !=
null
);
17.
18.
//Create Table
19.
db.CreateCollection(
"NewCollection"
);
20.
var collection = db.GetCollection(
"NewCollection"
);
21.
}
22.
23.
[Test]
24.
public
void
InsertTest()
25.
{
26.
string
connectionString =
"mongodb://localhost"
;
27.
MongoServer server = MongoServer.Create(connectionString);
28.
29.
var data01 =
new
BsonDocument();
30.
data01.Add(
"author"
,
"ykyoon"
);
31.
data01.Add(
"name"
,
"first bsonDocument"
);
32.
33.
//var dbSetting = server.CreateDatabaseSettings("mongoDbTest");
34.
//var dbNames = server.GetDatabaseNames();
35.
36.
var db = server.GetDatabase(
"mongoDbTest"
);
37.
//db.CreateCollection("Users");
38.
39.
var userCollection = db.GetCollection(
"Users"
);
40.
userCollection.Insert(data01);
41.
42.
Assert.That(server.DatabaseExists(
"mongoDbTest"
));
43.
}
44.
45.
[Test]
46.
public
void
SelectTest()
47.
{
48.
var connectionString =
"mongodb://localhost"
;
49.
MongoServer server = MongoServer.Create(connectionString);
50.
var db = server.GetDatabase(
"mongoDbTest"
);
51.
52.
var userCollection = db.GetCollection(
"Users"
);
53.
var qq = Query.EQ(
"author"
,
"ykyoon"
);
54.
55.
var users = userCollection.Find(qq);
56.
foreach
(var user
in
users)
57.
{
58.
Console.WriteLine(user);
59.
}
60.
}
61.
}