网站源代码查看,电影院订票网站开发,做网站售后几年,网站备案连接目录 一、MongoDB是什么#xff1f; 二、使用步骤 1.安装驱动 2.设置连接字符串、配置类 3.建立实体类 4.服务层 5.在Program添加服务 6.在Controller注入服务 总结 一、MongoDB是什么#xff1f;
MongoDB 是一个开源的、可扩展的、跨平台的、面向文档的非关系型数据库… 目录 一、MongoDB是什么 二、使用步骤 1.安装驱动 2.设置连接字符串、配置类 3.建立实体类 4.服务层 5.在Program添加服务 6.在Controller注入服务 总结 一、MongoDB是什么
MongoDB 是一个开源的、可扩展的、跨平台的、面向文档的非关系型数据库它由 C 语言编写旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
二、使用步骤
1.安装驱动
代码如下
install-pack MongoDB.Driver
2.设置连接字符串、配置类
在appsettings.json中设置mongodb服务器地址、数据库
代码如下示例 MongoDbSetting: {Connection: mongodb://localhost:27017,Database: Test}建立相应的配置类 public class MongoDbSetting{public string Connection { get; set; }public string Database { get; set; }}3.建立实体类
代码如下示例 public class Book{[BsonRepresentation(BsonType.ObjectId)]public string Id { get; set; }public string AuthorName { get; set; }public string Price { get; set; }public string PubTime { get; set; }public string Title { get; set; }} 4.服务层
代码如下示例 public class BookService{private readonly IMongoCollectionBook _mongDb;public BookService(IMongoDbSetting setting){var client new MongoClient(setting.Connection);var database client.GetDatabase(setting.Database);_mongDb database.GetCollectionBook(nameof(Book));}/// summary/// 新增/// /summary/// param namemodel/param/// returns/returnspublic Book Insert(Book model){_mongDb.InsertOne(model);return model;}/// summary/// 编辑/// /summary/// param nameid/param/// param namemodel/parampublic void Update(Book model){_mongDb.ReplaceOne(m m.Id model.Id, model);}/// summary/// 删除/// /summary/// param namemodel/parampublic void Delete(Book model){_mongDb.DeleteOne(m m.Id model.Id);}/// summary/// 获取某一个对象/// /summary/// param nameid/param/// returns/returnspublic Book Get(string id){return _mongDb.FindBook(book book.Id id).FirstOrDefault();}/// summary/// 查询/// /summary/// param namePageIndex/param/// param namePageSize/param/// returns/returnspublic ListBook GetPageList(int PageIndex 1, int PageSize 10){//设置排序字段var sort BuildersBook.Sort.Descending(it it.PubTime);return _mongDb.FindBook(b true).Sort(sort).Skip((PageIndex - 1) * PageSize).Limit(PageSize).ToList();}} 5.在Program添加服务
代码如下示例
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using MyApI;var builder WebApplication.CreateBuilder(args);// Add services to the container.#region 配置mongodb
builder.Services.ConfigureMongoDbSetting(builder.Configuration.GetSection(nameof(MongoDbSetting)));
builder.Services.AddSingletonIMongoDbSetting(sp sp.GetRequiredServiceIOptionsMongoDbSetting().Value);
builder.Services.AddSingletonBookService();
#endregion builder.Services.ConfigureApiBehaviorOptions((o)
{o.SuppressModelStateInvalidFilter true;
});
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();var app builder.Build();// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{app.UseSwagger();app.UseSwaggerUI();
}app.UseAuthorization();app.MapControllers();app.Run();6.在Controller注入服务 注入服务有三种方式构造函数、属性、方法通常一般选择构造函数的方式注入
在BookController中注入BookService 服务
代码如下示例
[Route(api/[controller]/[action])][ApiController]public class BookController : ControllerBase{private readonly BookService _bookService;public BookController(BookService bookService) {_bookServicebookService;} [HttpPost]public ActionResult Insert(Book model){return new JsonResult(_bookService.Insert(model));}[HttpPost]public ActionResult Update(Book model){_bookService.Update(model);return NoContent();}[HttpPost]public ActionResult Delete(Book model){_bookService.Delete(model);return NoContent();}[HttpGet]public ActionResult Get(string id){return new JsonResult(_bookService.Get(id));}[HttpGet]public ActionResult GetPageList(int PageIndex 1, int PageSize 10){return new JsonResult(_bookService.GetPageList(PageIndex, PageSize));}}
总结 以上是我在.net core 对MongoDB数据库简单的使用
更多的使用查看官方文档MongoDB C# Driver — C#/.NET