使用ASP.NET Core实现MongoDB的CRUD操作

.NET
362
0
0
2022-03-27
标签   ASP.NET

介绍

在本文中,我们将学习如何使用ASP.NET CORE去实现MongoDB的CRUD操作。MongoDB是一个NO SQL的数据库。与SQLServer相比,它的优势在于可伸缩性和灵活性,然而,这些并不是数据库MongoDB所具有的唯一可取之处。

步骤1

首先,我们将使用Nuget命令在Visual Studio中添加mongodb数据库

使用ASP.NET Core实现MongoDB的CRUD操作

Install-Package MongoDB.Driver -Version 2.11.6

步骤2

登录mongodb

https://www.mongodb.com/

登录后创建集群,如果已经创建了一个集群,则不要创建集群

创建集群后,单击Connect

使用ASP.NET Core实现MongoDB的CRUD操作

单击连接后,单击连接应用程序

使用ASP.NET Core实现MongoDB的CRUD操作

之后,您将找到连接字符串。

使用ASP.NET Core实现MongoDB的CRUD操作

选择驱动器C#.NET,对于版本,我使用的是2.11.6,所以选择2.11或更高版本。

第3步

现在我们来到visualstudio。创建ASP.NET Core Web应用

使用ASP.NET Core实现MongoDB的CRUD操作

第4步

创建项目后,转到appsettings.json文件并设置连接字符串。

{  
    "MyKey""mongodb+srv://ajay:<Password>@cluster0.qmqmt.mongodb.net/<Databasename>?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 < CarModel > ("EmployeeDetails");  
    collection.InsertOne(model);  
    return View();  
}  

第8步 - 编辑和更新数据

编辑

public ActionResult Edit(string id) {  
    if (ModelState.IsValid) {  
        var collection = DB.GetCollection < CarModel > ("EmployeeDetails").Find(Builders < CarModel > .Filter.Eq("Id", ObjectId.Parse(id))).SingleOrDefault();  
        return View(collection);  
    }  
    return View();  
}

更新

[HttpPost]  
public ActionResult Edit(CarModel model, string Id) {  
    var collection = DB.GetCollection < CarModel > ("EmployeeDetails");  
    var update = collection.FindOneAndUpdateAsync(Builders < CarModel > .Filter.Eq("Id", ObjectId.Parse(Id)), Builders < CarModel > .Update.Set("Empname", model.Empname).Set("Empemail", model.Empemail));  
    return RedirectToAction("About");  
}  

在上面的编辑中,您将在ID参数中传入当前ID。

第9步

显示数据

public ActionResult Show() {  
    var collection = DB.GetCollection < CarModel > ("EmployeeDetails").Find(new BsonDocument()).ToList();  
    return View(collection);  
}  

摘要

在本文中,我们学习了使用ASP.NET Core和MongoDB。本文让您基本了解如何将MongoDB与ASP.NET Core应用程序。