チュートリアル:簡単な方法C .
この記事の目的は、MongoDBサーバのデータを保存して検索するための、より冗長で便利な方法を理解することです.うまくいけば、この記事の終わりまでには、光を見て、SQL ServerとEntity Frameworkを溝に入れて、Mongo電車に乗船することに決めます.
サーバーのインストール
サーバーのインストール
あなたのマシン上で実行しているMongoDBサーバーを持っていない場合は、移動する前に以下のチュートリアルに従ってください.
mongodbサーバのインストール方法
三丁目の乙女・ Dec 30 ' 19・ 3分読む
#nosql
#mongodb
#database
#tutorial
Scaffoldコンソールアプリケーションプロジェクト
Visual Studio targetを使用した新しいコンソールアプリケーションプロジェクトを作成する.net core
またはPowerShell/Cmdウィンドウで次のように入力します.
dotnet new console -n LearnMongo
start .\LearnMongo\LearnMongo.csproj
依存関係のインストール
パッケージマネージャーコンソールを開き、次のコマンドを入力します.
チップtools > nuget package manager > package manager console
Install-Package MongoDB.Entities
データベース接続の初期化
オープンProgram.cs
ファイルを作成し、以下のようにします.
using MongoDB.Entities;
using System.Threading.Tasks;
namespace LearnMongo
{
static class Program
{
private async static Task Main()
{
await DB.InitAsync("MyDatabase", "localhost", 27017);
}
}
}
我々は、このアプリケーションは、データベースと呼ばれるデータを格納することを指定しているMyDatabase
実行中のMongoDBサーバーでlocalhost
デフォルトポートのリスニング.
エンティティの保存
新しいクラスファイルを追加Person.cs
プロジェクトには次のようになります.
using MongoDB.Entities;
using System;
namespace LearnMongo
{
public class Person : Entity
{
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public int SiblingCount { get; set; }
}
}
MongoDBに保持されるメイン/ルートエンティティはクラスから継承しなければなりませんEntity
これは以前にインストールしたパッケージによって提供されます.
その後、Program.cs
ファイルを作成し、以下のDB初期化行を追加します.
var lisa = new Person
{
Name = "Lisa Malfrey",
DateOfBirth = new DateTime(1983, 10, 11),
SiblingCount = 1
};
await lisa.SaveAsync();
Console.WriteLine($"Lisa's ID: {lisa.ID}");
Console.Read();
今すぐヒットしてプログラムを実行するctrl+f5
. エンティティが保存され、自動的にIDが割り当てられていることがわかります.
注意: IDプロパティはベースから来ますEntity
クラスを作成する各エンティティに手動で追加し続ける必要はありません.
DB ManagerまたはMongoシェルを使用してデータベースの中を見ると、コレクションと呼ばれるPerson
が作成され、新しいレコードが追加されました.
{
"_id": ObjectId("5e0c682ddd3765736cb8ca56"),
"Name": "Lisa Malfrey",
"DateOfBirth": ISODate("1983-10-10T18:30:00Z"),
"SiblingCount": 1
}
エンティティの取得
データは、異なる方法のカップルで取得することができます.以下に例を示します:
身分証明書
var result = await DB.Find<Person>().OneAsync(lisa.ID);
Console.WriteLine($"Found Person: {result.Name}");
Console.Read();
兄弟数によって見つけてください
var result = (await DB.Find<Person>()
.ManyAsync(p => p.SiblingCount >= 1))
.First();
Console.WriteLine($"Count: {result.SiblingCount}");
Console.Read();
ここでは多くを見つけると言うPerson
少なくとも1つの兄弟を持つ実体.the .First()
LINQメソッドは、単に見つかったリストから最初の人を選択します.
日付範囲
var result = await DB.Queryable<Person>()
.Where(p => p.DateOfBirth > new DateTime(1983, 10, 10) &&
p.DateOfBirth < new DateTime(1983, 10, 12))
.FirstOrDefaultAsync();
Console.WriteLine($"Birthday: {result.DateOfBirth.ToLocalTime()}");
Console.Read();
ここで我々はIQueryable
インターフェイスは、2つの日付の範囲内に該当する誕生日を持つ最初の人を取得します.
エンティティの更新
完全なエンティティを取得し、プロパティを更新してデータベースに保存したり、最初にそれらを取得せずにエンティティの特定のプロパティを更新することもできます.
完全エンティティの取得による更新
var person = await DB.Find<Person>().OneAsync(lisa.ID);
person.Name = "Lisa Kudrow";
person.SiblingCount = 2;
await person.SaveAsync();
取得せずにプロパティを更新する
await DB.Update<Person>()
.Match(p => p.ID == lisa.ID)
.Modify(p => p.Name, "Lisa Kudrow")
.Modify(p => p.SiblingCount, 2)
.ExecuteAsync();
次の手順
希望は、上記のコードを十分にあなたの関心を深くどのようにCの経典とMongoDBを使用する方法を学ぶことに行く簡単な方法です.パッケージMongoDB.Entities
それは非常にMongoDBサーバーと通信する簡単です.それのAPIのあらゆる側面がofficial website . Githubのソースコードもチェックできます.
DJニットホーク
/
モンゴルド.実体
エレガントなAPI、LINQサポートとビルトイン実体関係管理によるMongoDBのためのデータアクセスライブラリ
モンゴルド.実体
軽量.美しい標準的なデータアクセスコードを生成するエレガントなAPIの表面に結果の上に便利な機能を追加しながら、公式のドライバを抽象化することによってMongoDBへのアクセスを簡素化することを目的とするほとんどすべてのオーバーヘッドを持つNET標準ライブラリ.
詳しい情報:
詳細なドキュメントの公式サイトをご覧ください.
https://mongodb-entities.com
View on GitHub
Reference
この問題について(チュートリアル:簡単な方法C .), 我々は、より多くの情報をここで見つけました
https://dev.to/djnitehawk/tutorial-mongodb-with-c-the-easy-way-1g68
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
mongodbサーバのインストール方法
三丁目の乙女・ Dec 30 ' 19・ 3分読む
#nosql
#mongodb
#database
#tutorial
Visual Studio targetを使用した新しいコンソールアプリケーションプロジェクトを作成する
.net core
またはPowerShell/Cmdウィンドウで次のように入力します.dotnet new console -n LearnMongo
start .\LearnMongo\LearnMongo.csproj
依存関係のインストール
パッケージマネージャーコンソールを開き、次のコマンドを入力します.
チップtools > nuget package manager > package manager console
Install-Package MongoDB.Entities
データベース接続の初期化
オープンProgram.cs
ファイルを作成し、以下のようにします.
using MongoDB.Entities;
using System.Threading.Tasks;
namespace LearnMongo
{
static class Program
{
private async static Task Main()
{
await DB.InitAsync("MyDatabase", "localhost", 27017);
}
}
}
我々は、このアプリケーションは、データベースと呼ばれるデータを格納することを指定しているMyDatabase
実行中のMongoDBサーバーでlocalhost
デフォルトポートのリスニング.
エンティティの保存
新しいクラスファイルを追加Person.cs
プロジェクトには次のようになります.
using MongoDB.Entities;
using System;
namespace LearnMongo
{
public class Person : Entity
{
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public int SiblingCount { get; set; }
}
}
MongoDBに保持されるメイン/ルートエンティティはクラスから継承しなければなりませんEntity
これは以前にインストールしたパッケージによって提供されます.
その後、Program.cs
ファイルを作成し、以下のDB初期化行を追加します.
var lisa = new Person
{
Name = "Lisa Malfrey",
DateOfBirth = new DateTime(1983, 10, 11),
SiblingCount = 1
};
await lisa.SaveAsync();
Console.WriteLine($"Lisa's ID: {lisa.ID}");
Console.Read();
今すぐヒットしてプログラムを実行するctrl+f5
. エンティティが保存され、自動的にIDが割り当てられていることがわかります.
注意: IDプロパティはベースから来ますEntity
クラスを作成する各エンティティに手動で追加し続ける必要はありません.
DB ManagerまたはMongoシェルを使用してデータベースの中を見ると、コレクションと呼ばれるPerson
が作成され、新しいレコードが追加されました.
{
"_id": ObjectId("5e0c682ddd3765736cb8ca56"),
"Name": "Lisa Malfrey",
"DateOfBirth": ISODate("1983-10-10T18:30:00Z"),
"SiblingCount": 1
}
エンティティの取得
データは、異なる方法のカップルで取得することができます.以下に例を示します:
身分証明書
var result = await DB.Find<Person>().OneAsync(lisa.ID);
Console.WriteLine($"Found Person: {result.Name}");
Console.Read();
兄弟数によって見つけてください
var result = (await DB.Find<Person>()
.ManyAsync(p => p.SiblingCount >= 1))
.First();
Console.WriteLine($"Count: {result.SiblingCount}");
Console.Read();
ここでは多くを見つけると言うPerson
少なくとも1つの兄弟を持つ実体.the .First()
LINQメソッドは、単に見つかったリストから最初の人を選択します.
日付範囲
var result = await DB.Queryable<Person>()
.Where(p => p.DateOfBirth > new DateTime(1983, 10, 10) &&
p.DateOfBirth < new DateTime(1983, 10, 12))
.FirstOrDefaultAsync();
Console.WriteLine($"Birthday: {result.DateOfBirth.ToLocalTime()}");
Console.Read();
ここで我々はIQueryable
インターフェイスは、2つの日付の範囲内に該当する誕生日を持つ最初の人を取得します.
エンティティの更新
完全なエンティティを取得し、プロパティを更新してデータベースに保存したり、最初にそれらを取得せずにエンティティの特定のプロパティを更新することもできます.
完全エンティティの取得による更新
var person = await DB.Find<Person>().OneAsync(lisa.ID);
person.Name = "Lisa Kudrow";
person.SiblingCount = 2;
await person.SaveAsync();
取得せずにプロパティを更新する
await DB.Update<Person>()
.Match(p => p.ID == lisa.ID)
.Modify(p => p.Name, "Lisa Kudrow")
.Modify(p => p.SiblingCount, 2)
.ExecuteAsync();
次の手順
希望は、上記のコードを十分にあなたの関心を深くどのようにCの経典とMongoDBを使用する方法を学ぶことに行く簡単な方法です.パッケージMongoDB.Entities
それは非常にMongoDBサーバーと通信する簡単です.それのAPIのあらゆる側面がofficial website . Githubのソースコードもチェックできます.
DJニットホーク
/
モンゴルド.実体
エレガントなAPI、LINQサポートとビルトイン実体関係管理によるMongoDBのためのデータアクセスライブラリ
モンゴルド.実体
軽量.美しい標準的なデータアクセスコードを生成するエレガントなAPIの表面に結果の上に便利な機能を追加しながら、公式のドライバを抽象化することによってMongoDBへのアクセスを簡素化することを目的とするほとんどすべてのオーバーヘッドを持つNET標準ライブラリ.
詳しい情報:
詳細なドキュメントの公式サイトをご覧ください.
https://mongodb-entities.com
View on GitHub
Reference
この問題について(チュートリアル:簡単な方法C .), 我々は、より多くの情報をここで見つけました
https://dev.to/djnitehawk/tutorial-mongodb-with-c-the-easy-way-1g68
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Install-Package MongoDB.Entities
オープン
Program.cs
ファイルを作成し、以下のようにします.using MongoDB.Entities;
using System.Threading.Tasks;
namespace LearnMongo
{
static class Program
{
private async static Task Main()
{
await DB.InitAsync("MyDatabase", "localhost", 27017);
}
}
}
我々は、このアプリケーションは、データベースと呼ばれるデータを格納することを指定しているMyDatabase
実行中のMongoDBサーバーでlocalhost
デフォルトポートのリスニング.エンティティの保存
新しいクラスファイルを追加Person.cs
プロジェクトには次のようになります.
using MongoDB.Entities;
using System;
namespace LearnMongo
{
public class Person : Entity
{
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public int SiblingCount { get; set; }
}
}
MongoDBに保持されるメイン/ルートエンティティはクラスから継承しなければなりませんEntity
これは以前にインストールしたパッケージによって提供されます.
その後、Program.cs
ファイルを作成し、以下のDB初期化行を追加します.
var lisa = new Person
{
Name = "Lisa Malfrey",
DateOfBirth = new DateTime(1983, 10, 11),
SiblingCount = 1
};
await lisa.SaveAsync();
Console.WriteLine($"Lisa's ID: {lisa.ID}");
Console.Read();
今すぐヒットしてプログラムを実行するctrl+f5
. エンティティが保存され、自動的にIDが割り当てられていることがわかります.
注意: IDプロパティはベースから来ますEntity
クラスを作成する各エンティティに手動で追加し続ける必要はありません.
DB ManagerまたはMongoシェルを使用してデータベースの中を見ると、コレクションと呼ばれるPerson
が作成され、新しいレコードが追加されました.
{
"_id": ObjectId("5e0c682ddd3765736cb8ca56"),
"Name": "Lisa Malfrey",
"DateOfBirth": ISODate("1983-10-10T18:30:00Z"),
"SiblingCount": 1
}
エンティティの取得
データは、異なる方法のカップルで取得することができます.以下に例を示します:
身分証明書
var result = await DB.Find<Person>().OneAsync(lisa.ID);
Console.WriteLine($"Found Person: {result.Name}");
Console.Read();
兄弟数によって見つけてください
var result = (await DB.Find<Person>()
.ManyAsync(p => p.SiblingCount >= 1))
.First();
Console.WriteLine($"Count: {result.SiblingCount}");
Console.Read();
ここでは多くを見つけると言うPerson
少なくとも1つの兄弟を持つ実体.the .First()
LINQメソッドは、単に見つかったリストから最初の人を選択します.
日付範囲
var result = await DB.Queryable<Person>()
.Where(p => p.DateOfBirth > new DateTime(1983, 10, 10) &&
p.DateOfBirth < new DateTime(1983, 10, 12))
.FirstOrDefaultAsync();
Console.WriteLine($"Birthday: {result.DateOfBirth.ToLocalTime()}");
Console.Read();
ここで我々はIQueryable
インターフェイスは、2つの日付の範囲内に該当する誕生日を持つ最初の人を取得します.
エンティティの更新
完全なエンティティを取得し、プロパティを更新してデータベースに保存したり、最初にそれらを取得せずにエンティティの特定のプロパティを更新することもできます.
完全エンティティの取得による更新
var person = await DB.Find<Person>().OneAsync(lisa.ID);
person.Name = "Lisa Kudrow";
person.SiblingCount = 2;
await person.SaveAsync();
取得せずにプロパティを更新する
await DB.Update<Person>()
.Match(p => p.ID == lisa.ID)
.Modify(p => p.Name, "Lisa Kudrow")
.Modify(p => p.SiblingCount, 2)
.ExecuteAsync();
次の手順
希望は、上記のコードを十分にあなたの関心を深くどのようにCの経典とMongoDBを使用する方法を学ぶことに行く簡単な方法です.パッケージMongoDB.Entities
それは非常にMongoDBサーバーと通信する簡単です.それのAPIのあらゆる側面がofficial website . Githubのソースコードもチェックできます.
DJニットホーク
/
モンゴルド.実体
エレガントなAPI、LINQサポートとビルトイン実体関係管理によるMongoDBのためのデータアクセスライブラリ
モンゴルド.実体
軽量.美しい標準的なデータアクセスコードを生成するエレガントなAPIの表面に結果の上に便利な機能を追加しながら、公式のドライバを抽象化することによってMongoDBへのアクセスを簡素化することを目的とするほとんどすべてのオーバーヘッドを持つNET標準ライブラリ.
詳しい情報:
詳細なドキュメントの公式サイトをご覧ください.
https://mongodb-entities.com
View on GitHub
Reference
この問題について(チュートリアル:簡単な方法C .), 我々は、より多くの情報をここで見つけました
https://dev.to/djnitehawk/tutorial-mongodb-with-c-the-easy-way-1g68
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
using MongoDB.Entities;
using System;
namespace LearnMongo
{
public class Person : Entity
{
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public int SiblingCount { get; set; }
}
}
var lisa = new Person
{
Name = "Lisa Malfrey",
DateOfBirth = new DateTime(1983, 10, 11),
SiblingCount = 1
};
await lisa.SaveAsync();
Console.WriteLine($"Lisa's ID: {lisa.ID}");
Console.Read();
{
"_id": ObjectId("5e0c682ddd3765736cb8ca56"),
"Name": "Lisa Malfrey",
"DateOfBirth": ISODate("1983-10-10T18:30:00Z"),
"SiblingCount": 1
}
データは、異なる方法のカップルで取得することができます.以下に例を示します:
身分証明書
var result = await DB.Find<Person>().OneAsync(lisa.ID);
Console.WriteLine($"Found Person: {result.Name}");
Console.Read();
兄弟数によって見つけてください
var result = (await DB.Find<Person>()
.ManyAsync(p => p.SiblingCount >= 1))
.First();
Console.WriteLine($"Count: {result.SiblingCount}");
Console.Read();
ここでは多くを見つけると言うPerson
少なくとも1つの兄弟を持つ実体.the .First()
LINQメソッドは、単に見つかったリストから最初の人を選択します.日付範囲
var result = await DB.Queryable<Person>()
.Where(p => p.DateOfBirth > new DateTime(1983, 10, 10) &&
p.DateOfBirth < new DateTime(1983, 10, 12))
.FirstOrDefaultAsync();
Console.WriteLine($"Birthday: {result.DateOfBirth.ToLocalTime()}");
Console.Read();
ここで我々はIQueryable
インターフェイスは、2つの日付の範囲内に該当する誕生日を持つ最初の人を取得します.エンティティの更新
完全なエンティティを取得し、プロパティを更新してデータベースに保存したり、最初にそれらを取得せずにエンティティの特定のプロパティを更新することもできます.
完全エンティティの取得による更新
var person = await DB.Find<Person>().OneAsync(lisa.ID);
person.Name = "Lisa Kudrow";
person.SiblingCount = 2;
await person.SaveAsync();
取得せずにプロパティを更新する
await DB.Update<Person>()
.Match(p => p.ID == lisa.ID)
.Modify(p => p.Name, "Lisa Kudrow")
.Modify(p => p.SiblingCount, 2)
.ExecuteAsync();
次の手順
希望は、上記のコードを十分にあなたの関心を深くどのようにCの経典とMongoDBを使用する方法を学ぶことに行く簡単な方法です.パッケージMongoDB.Entities
それは非常にMongoDBサーバーと通信する簡単です.それのAPIのあらゆる側面がofficial website . Githubのソースコードもチェックできます.
DJニットホーク
/
モンゴルド.実体
エレガントなAPI、LINQサポートとビルトイン実体関係管理によるMongoDBのためのデータアクセスライブラリ
モンゴルド.実体
軽量.美しい標準的なデータアクセスコードを生成するエレガントなAPIの表面に結果の上に便利な機能を追加しながら、公式のドライバを抽象化することによってMongoDBへのアクセスを簡素化することを目的とするほとんどすべてのオーバーヘッドを持つNET標準ライブラリ.
詳しい情報:
詳細なドキュメントの公式サイトをご覧ください.
https://mongodb-entities.com
View on GitHub
Reference
この問題について(チュートリアル:簡単な方法C .), 我々は、より多くの情報をここで見つけました
https://dev.to/djnitehawk/tutorial-mongodb-with-c-the-easy-way-1g68
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
var person = await DB.Find<Person>().OneAsync(lisa.ID);
person.Name = "Lisa Kudrow";
person.SiblingCount = 2;
await person.SaveAsync();
await DB.Update<Person>()
.Match(p => p.ID == lisa.ID)
.Modify(p => p.Name, "Lisa Kudrow")
.Modify(p => p.SiblingCount, 2)
.ExecuteAsync();
希望は、上記のコードを十分にあなたの関心を深くどのようにCの経典とMongoDBを使用する方法を学ぶことに行く簡単な方法です.パッケージ
MongoDB.Entities
それは非常にMongoDBサーバーと通信する簡単です.それのAPIのあらゆる側面がofficial website . Githubのソースコードもチェックできます.DJニットホーク / モンゴルド.実体
エレガントなAPI、LINQサポートとビルトイン実体関係管理によるMongoDBのためのデータアクセスライブラリ
モンゴルド.実体
軽量.美しい標準的なデータアクセスコードを生成するエレガントなAPIの表面に結果の上に便利な機能を追加しながら、公式のドライバを抽象化することによってMongoDBへのアクセスを簡素化することを目的とするほとんどすべてのオーバーヘッドを持つNET標準ライブラリ.
詳しい情報:
詳細なドキュメントの公式サイトをご覧ください.
https://mongodb-entities.com
View on GitHub
Reference
この問題について(チュートリアル:簡単な方法C .), 我々は、より多くの情報をここで見つけました
https://dev.to/djnitehawk/tutorial-mongodb-with-c-the-easy-way-1g68
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(チュートリアル:簡単な方法C .), 我々は、より多くの情報をここで見つけました https://dev.to/djnitehawk/tutorial-mongodb-with-c-the-easy-way-1g68テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol