Статьи

Использование MongoDB через .NET

Задача :

В этом посте я объясню, как мы можем взаимодействовать с данными, находящимися в MongoDB, используя .Net.

Ингредиенты:

Mongodb-win32-i386-2.2.3, Microsoft Windows Vista Professional, Visual Studio 2010

Рецепт :

Настройка MongoDB

Настроить Mongodb. Убедитесь, что вы
создали каталог «Data \ db» на корневом диске, где находится папка MongoDB (Mongodb-win32-i386-2.2.3). Система MongoDB
будет хранить все свои данные в « Data \ db ».

Для удобства я переименовал это (Mongodb-win32-i386-2.2.3)) в

MongoDB
Только, это помогает позже, когда мы используем командную строку. (с более коротким названием)

Откройте консоль командной строки, перейдите к

MongoDb
\ bin & run mongod , (основной процесс для соединения с экземпляром сервера MongoDB)

Откройте новую консоль командной строки, перейдите к

MongoDb
\ bin & run mongo , (интерфейс оболочки к MongoDB)

* Наш интерфейс оболочки должен быть подключен к серверу, прослушивающему порт 27017 (порт по умолчанию)

.NET код

MongoDB Team предоставляет несколько драйверов для подключения к MongoDB System. Загрузите драйвер C #.

Откройте Visual Studio 2012, создайте новое приложение Windows Forms.

Добавить проект Ссылка на MongoDB.Driver.dll

Form1

Перейти к коду позади и добавить пространства имен

# регион MongoRefs

с использованием MongoDB;

используя MongoDB.Driver;

использование MongoDB.Driver.Linq;

использование MongoDB.Driver.Builders;

#endregion

Я использовал следующий код для вставки фиктивных данных в наше хранилище данных mongodb.

MongoServer mongoServer = MongoServer.Create();

mongoServer.Connect();

MongoDatabase mDB = mongoServer.GetDatabase(“Analytics”);

MongoCollection mCollection = mDB.GetCollection<DemoStats>(“DemoStats”);

 #region Populate manual data

if (mCollection.Count() == 0)

{

DemoStats objDemoStat = new DemoStats() {
SpeakerName = “Sarfraz”, Id = Guid.NewGuid().ToString(), Topic =
“Demonstrating MongoDB & Twitter with Web API”, AudienceCount = “11″
};

mCollection.Save(objDemoStat);

 objDemoStat = new DemoStats() {
SpeakerName = “Asif”, Id = Guid.NewGuid().ToString(), Topic = “Overview
Microsoft Dynamics CRM”, AudienceCount = “13″ };

mCollection.Save(objDemoStat);

 objDemoStat = new DemoStats() {
SpeakerName = “Fahad”, Id = Guid.NewGuid().ToString(), Topic = “OData
Services with WCF Data Services”, AudienceCount = “15″ };

mCollection.Save(objDemoStat);

 }

#endregion

Теперь вы можете увидеть через Mongo Console наши данные.

MongoConsole

Я использовал следующий код для извлечения / запроса записей базы данных

#region Retrieve Data from Mongo

if (Convert.ToInt32(mCollection.GetStats().ObjectCount) > 0)

{

var demoData = mCollection.FindAs(typeof(DemoStats), Query.EQ(“SpeakerName”, txtSpeakerName.Text));

if (demoData.Count() > 0)
{
foreach (DemoStats objStat in demoData)
{
lblTopic.Text = Convert.ToString(objStat.Topic);
lblAudienceCount.Text = Convert.ToString(objStat.AudienceCount);
}

lblMessage.Text = “Match Found”;
}
else
{
lblMessage.Text = “Match Not Found”;
}
}
else
{
lblMessage.Text = “No Records Found”;
}
#endregion

В конце убедитесь, что ваш код отключен от экземпляра Mongo
mongoServer.Disconnect ();

Вкусное кодирование!