当前位置: 首页 > wzjs >正文

为网站吸引流量的方法郑州网络营销排名

为网站吸引流量的方法,郑州网络营销排名,香港高防服务器,什么网站能接工地做话不多说,先了解一下MongoDB,在后端服务中选择一个数据库,是由最适合项目应用场景的架构决策所决定的。在做出决策前就需要了解和学习数据库的相关特性,从数据库官网学习了解它的特性是最适合不过的了。 MongoDB官方手册网站&…

话不多说,先了解一下MongoDB,在后端服务中选择一个数据库,是由最适合项目应用场景的架构决策所决定的。在做出决策前就需要了解和学习数据库的相关特性,从数据库官网学习了解它的特性是最适合不过的了。

MongoDB官方手册网站:MongoDB是什么? - 数据库手册 - MongoDB Docs

MongoDB .NET/C# 驱动程序手册网站:快速入门 - C#/.NET 驱动程序 v3.4 - MongoDB Docs

1、添加MongoDB.Driver

dotnet add package MongoDB.Driver

2、添加MongoDB配置信息到appsettings.json中

"MongoDBConfig": {"BooksCollectionName": "Book","DatabaseName": "BookStoreDB","ConnectionString": "mongodb://localhost:27017/",
}

3、创建MongoDB配置信息类

public class MongoDBConfig
{public string BookCollectionName { get; set; } = string.Empty;public string DatabaseName { get; set; } = string.Empty;public string ConnectionString { get; set; } = string.Empty;
}

4、创建实体类-Book

public class Book
{[BsonId][BsonRepresentation(BsonType.ObjectId)]public string Id { get; set; } = ObjectId.GenerateNewId().ToString();[BsonElement("Name")]public string BookName { get; set; } = string.Empty;public decimal Price { get; set; }public string Category { get; set; } = string.Empty;public string Author { get; set; } = string.Empty;[BsonDateTimeOptions(Kind = DateTimeKind.Local)]public DateTime CreationTime { get; set; } = DateTime.Now;
}

注:[BsonDateTimeOptions(Kind = DateTimeKind.Local)]必须要添加的,因为MongoDB写入时间是协调世界时(UTC),不加这样注解,查询出来结果会有时区误差。

5、创建自定义MongoDB上下文

public class MongoDBContext
{public IMongoCollection<Book> Books { get; }public MongoDBContext(MongoDBConfig mongodbConfig){if (mongodbConfig != null){if (string.IsNullOrEmpty(mongodbConfig.ConnectionString))throw new ArgumentException("MongoDB connection is not configured");var client = new MongoClient(mongodbConfig.ConnectionString);var database = client.GetDatabase(mongodbConfig.DatabaseName);Books = database.GetCollection<User>(mongodbConfig.BookCollectionName);}else{throw new ArgumentNullException(nameof(mongodbConfig));}}
}

6、创建自定义MongoDB扩展注入服务

public static class MongoDBServiceExtensions
{public static IServiceCollection AddMongoDB(this IServiceCollection services, IConfiguration configuration){services.Configure<MongoDBConfig>(configuration.GetSection("MongoDBConfig"));services.AddSingleton<MongoDBContext>(provider =>{var settings = configuration.GetSection("MongoDBConfig").Get<MongoDBConfig>();return settings == null? throw new InvalidOperationException("MongoDBConfig is not configured properly."): new MongoDBContext(settings);});return services;}
}

注:这里为什么会将MongoDBContext注册为单例服务,因为官方文档推荐单例模式

7、Program.cs文件中注入MongoDB

builder.Services.AddMongoDB(builder.Configuration);

8、使用MongoDB

[ApiController]
[Route("api/[controller]")]public class BookController : ControllerBase
{private readonly ILogger<BookController> _logger;private readonly MongoDBContext _mongodbContext;public BookController(MongoDBContext mongodbContext, ILogger<BookController> logger){_logger = logger;_mongodbContext = mongodbContext;}[HttpGet]public async Task<List<Book>> GetList(){return await _mongodbContext.Books.Find(_ => true).ToListAsync();}[HttpGet("{id:length(24)}")]public async Task<ActionResult<Book>> Get(string id){var book = await _mongodbContext.Books.Find(x => x.Id == id).FirstOrDefaultAsync();if (book is null){return NotFound();}return book;}[HttpPost]public async Task<IActionResult> Post(Book newBook){await _mongodbContext.Books.InsertOneAsync(newBook);return CreatedAtAction(nameof(Get), new { id = newBook.Id }, newBook);}[HttpPut("{id:length(24)}")]public async Task<IActionResult> Update(string id, Book updatedBook){var book = await _mongodbContext.Books.Find(x => x.Id == id).FirstOrDefaultAsync();if (book is null){return NotFound();}updatedBook.Id = book.Id;await _mongodbContext.Books.ReplaceOneAsync(x => x.Id == id, updatedBook); ;return NoContent();}[HttpDelete("{id:length(24)}")]public async Task<IActionResult> Delete(string id){var book = await _mongodbContext.Books.Find(x => x.Id == id).FirstOrDefaultAsync();if (book is null){return NotFound();}await _mongodbContext.Books.DeleteOneAsync(x => x.Id == id);return NoContent();}
}

 

http://www.dtcms.com/wzjs/259868.html

相关文章:

  • 手机网站大小2345纯净版推广包
  • 网站建设零基础自学视频教程设计外包网站
  • 佛山网站建设优势网站免费发布与推广
  • 公司做网站费用计什么科目网上推广赚钱方法
  • 昆明网站建设天猫运营2022十大网络营销案例
  • 网站如何做超级链接手机百度下载免费安装
  • 怎么在网站上打广告谷歌seo排名优化
  • 国家企业官网查询系统搜索引擎优化方法有哪些
  • 毕设做网站具体步骤排名函数
  • 广东营销网站建设竞价推广价格
  • 网站如何做双链路关键词小说
  • 响应式外贸网站建设网站的优化与推广分析
  • 做短视频的网站收益qq群推广引流免费网站
  • seo岗位是什么意思seo赚钱方法大揭秘
  • dreamweaver做动态网站网络销售怎么干
  • 京东网站建设现状分析搜索推广出价多少合适
  • 公司网站忘了怎么做微博指数查询入口
  • 做装修网站郑州seo优化
  • wordpress 帮助插件seo快速排名
  • 网站建设的技术有哪些方面成都seo培
  • discuz怎么做网站网上国网app推广方案
  • 重庆网领网站建设公司网站备案流程
  • 凡客建站网长春百度seo公司
  • 昆明网站制作网页网络营销所学课程
  • 广州站在哪个区教师遭网课入侵直播录屏曝光广场舞
  • wordpress archive模板长沙网站seo分析
  • wordpress推介联盟百度seo查询系统
  • 网站被iframe站长工具的使用seo综合查询运营
  • 网站建设费用能否计入广告费sem竞价教程
  • 苏州做网站0512jinyan免费b站网站推广