본문 바로가기

C#/예제 코드

c# 몽고DB 간단히 CRUD만.

사전지식

닷넷에서 Mongoose 같은것을 원했으나 찾아봐도 자료가 없는것? 같다.

사용언어어 따라서 API의 사용법이 큰폭으로 달라지는 것은 고달프지만, 별수없이 몽고DB측에서 준비한 OFFICIAL한 라이브러리의 사용법을 알아본다.


준비물 nuget.org

Install-Package MongoDB.Driver -Version 2.14.1

OR

dotnet add package MongoDB.Driver --version 2.14.1

 

 

설치시 추가로 따라붙는것이 있다.

※필자는 몽고db v5.0.3 에서 테스트함.


실습

※ .net6.0 ( C#10.0 에서는 Main()을 생략한다 )

 

using MongoDB.Bson;
using MongoDB.Driver;


var dbClient = new MongoClient("mongodb://127.0.0.1:27017");
IMongoDatabase db = dbClient.GetDatabase("testdb");
var collec = db.GetCollection<BsonDocument>("collec");
var doc = new BsonDocument
            {
                {"name", "test"},
                {"age", 11}
            };


collec.InsertOne(doc);      // CREATE


var docs = collec.Find(new BsonDocument());  //READ
foreach (var tem in docs.ToList()) Console.WriteLine(tem);


var filter = Builders<BsonDocument>.Filter.Eq("name", "test");
var update = Builders<BsonDocument>.Update.Set("age", 12);


collec.UpdateOne(filter, update);     //UPDATE
foreach (var tem in docs.ToList()) Console.WriteLine(tem);


collec.DeleteOne(filter);  //DELETE
Console.WriteLine(docs.CountDocuments());

VS2022 Console