介绍
在本文中,我们将学习如何使用ASP.NET CORE去实现MongoDB的CRUD操作。MongoDB是一个NO SQL的数据库。与SQLServer相比,它的优势在于可伸缩性和灵活性,然而,这些并不是数据库MongoDB所具有的唯一可取之处。
步骤1
首先,我们将使用Nuget命令在Visual Studio中添加mongodb数据库
Install-Package MongoDB.Driver -Version 2.11.6
步骤2
登录mongodb
https://www.mongodb.com/
登录后创建集群,如果已经创建了一个集群,则不要创建集群
创建集群后,单击Connect
单击连接后,单击连接应用程序
之后,您将找到连接字符串。
选择驱动器C#.NET,对于版本,我使用的是2.11.6,所以选择2.11或更高版本。
第3步
现在我们来到visualstudio。创建ASP.NET Core Web应用
第4步
创建项目后,转到appsettings.json文件并设置连接字符串。
{??
????"MyKey":?"mongodb+srv://ajay:@cluster0.qmqmt.mongodb.net/?retryWrites=true&w=majority",??
????"Logging":?{??
????????"LogLevel":?{??
????????????"Default":?"Information",??
????????????"Microsoft":?"Warning",??
????????????"Microsoft.Hosting.Lifetime":?"Information"??
????????}??
????},??
????"AllowedHosts":?"*"??
}??
在上面的MYKEY中,您需要输入您的信息并更改密码和数据库。
请注意
如果数据库已经创建,那么它就在工作,但是如果数据库还没有创建,那么它就会自动创建。
第5步
现在我们来看看控制器:
public?HomeController(IConfiguration?Configuration)?{??
????Client?=?new?MongoClient(Configuration["MyKey"]);??
????DB?=?Client.GetDatabase("Your?Database");??
}??
您可以设置数据库名称,即连接字符串。
第6步
现在创建一个类:
public?class?CarModel?{??
????public?ObjectId?Id?{??
????????get;??
????????set;??
????}??
????public?string?Empname?{??
????????get;??
????????set;??
????}??
????public?string?Empemail?{??
????????get;??
????????set;??
????}??
????public?string?Phoneno?{??
????????get;??
????????set;??
????}??
????public?string?state?{??
????????get;??
????????set;??
????}??
}???
在上面的类中,ObjectId是自动创建的Bson ID,您可以使用
using?MongoDB.Bson;??
第7步 - 插入数据
[HttpPost]??
public?IActionResult?Index(CarModel?model)?{??
????var?collection?=?DB.GetCollection??("EmployeeDetails");??
????collection.InsertOne(model);??
????return?View();??
}??
第8步 - 编辑和更新数据
编辑
public?ActionResult?Edit(string?id)?{??
????if?(ModelState.IsValid)?{??
????????var?collection?=?DB.GetCollection??("EmployeeDetails").Find(Builders??.Filter.Eq("Id",?ObjectId.Parse(id))).SingleOrDefault();??
????????return?View(collection);??
????}??
????return?View();??
}
更新
[HttpPost]??
public?ActionResult?Edit(CarModel?model,?string?Id)?{??
????var?collection?=?DB.GetCollection??("EmployeeDetails");??
????var?update?=?collection.FindOneAndUpdateAsync(Builders??.Filter.Eq("Id",?ObjectId.Parse(Id)),?Builders??.Update.Set("Empname",?model.Empname).Set("Empemail",?model.Empemail));??
????return?RedirectToAction("About");??
}??
在上面的编辑中,您将在ID参数中传入当前ID。
第9步
显示数据
public?ActionResult?Show()?{??
????var?collection?=?DB.GetCollection??("EmployeeDetails").Find(new?BsonDocument()).ToList();??
????return?View(collection);??
}??
摘要
在本文中,我们学习了使用ASP.NET Core和MongoDB。本文让您基本了解如何将MongoDB与ASP.NET Core应用程序。