「C#からMongoDBを使う」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator (ページの作成:「NuGetに公式ドライバーがある。入れるだけでok。 MongoDB.Driver == データベースに接続する == <source lang="csharp"> var connectionString =...」) |
imported>Administrator |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | + | [[NuGet]]に公式ドライバーがある。入れるだけでok。 | |
MongoDB.Driver | MongoDB.Driver | ||
11行目: | 11行目: | ||
== POCOを作っておく == | == POCOを作っておく == | ||
− | + | ObjectId型のIdプロパティはMongoDB側でUIDを格納するためのもの。またプロパティに「BsonIgnore」属性を利用すると[[POCO]]でなくても大丈夫だったりする。<source lang="csharp"> | |
− | <source lang="csharp"> | ||
class Data { | class Data { | ||
[BsonId] | [BsonId] |
2018年7月19日 (木) 04:41時点における最新版
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();