Задача :
В этом посте я объясню, как мы можем взаимодействовать с данными, находящимися в 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
Откройте консоль командной строки, перейдите к
\ bin & run mongod , (основной процесс для соединения с экземпляром сервера MongoDB)
MongoDb
Откройте новую консоль командной строки, перейдите к
\ bin & run mongo , (интерфейс оболочки к MongoDB)
MongoDb
* Наш интерфейс оболочки должен быть подключен к серверу, прослушивающему порт 27017 (порт по умолчанию)
.NET код
MongoDB Team предоставляет несколько драйверов для подключения к MongoDB System. Загрузите драйвер C #.
Откройте Visual Studio 2012, создайте новое приложение Windows Forms.
Добавить проект Ссылка на MongoDB.Driver.dll
Перейти к коду позади и добавить пространства имен
# регион 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 наши данные.
Я использовал следующий код для извлечения / запроса записей базы данных
#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 ();
Вкусное кодирование!