C#からMongoDBを使う
ナビゲーションに移動
検索に移動
NuGetに公式ドライバーがある。入れるだけでok。
MongoDB.Driver
データベースに接続する[編集 | ソースを編集]
var connectionString = "mongodb://127.0.0.1";
var client = new MongoClient(connectionString);
var db = client.GetDatabase("testdb");
POCOを作っておく[編集 | ソースを編集]
ObjectId型のIdプロパティはMongoDB側でUIDを格納するためのもの。またプロパティに「BsonIgnore」属性を利用するとPOCOでなくても大丈夫だったりする。
class Data {
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
public DateTime? CreateAt {get; set; }
};
コレクションを取得する[編集 | ソースを編集]
コレクションってのはRDBでいうテーブルね。
var collection = DB.GetCollection<Data>("data");
コレクションにデータを格納してみる[編集 | ソースを編集]
ここはDapperでInsertするのと大して変わらないね。
var row = new Data {
Name = "test",
CreateAt = DateTime.Now,
};
collection.InsertOne(row);
コレクションからデータを検索してみる[編集 | ソースを編集]
なんとLINQで検索できる!こいつはスゲエ!
var x = collection.Find( x => Name == "Test" )
.SortByDescending(x => x.CreateAt)
.FirstOrDefault();