netcore MongoDB
2022/8/23 2:55:02
本文主要是介绍netcore MongoDB,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
NuGet MongoDB.Driver
using MongoDB.Bson; using MongoDB.Driver; using System; namespace MongoTest { public class MongoHp { static MongoHp() { MongoDB.Bson.Serialization.BsonSerializer.RegisterSerializer(typeof(DateTime), new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(DateTimeKind.Local)); } public static Tuple<MongoClient, IMongoDatabase, IMongoCollection<BaseCollect<T>>> GetCollection<T>() where T : class { MongoUrlBuilder bd = new MongoUrlBuilder(); bd.Server = new MongoServerAddress("localhost", 27017); bd.MinConnectionPoolSize = 9; bd.MaxConnectionPoolSize = 99; var url = bd.ToMongoUrl(); var client = new MongoClient(url); var database = client.GetDatabase("wms"); var collection = database.GetCollection<BaseCollect<T>>(typeof(T).Name); return Tuple.Create(client, database, collection); } } public class BaseCollect<T> where T : class { public BaseCollect(T t) { this.Value = t; } public ObjectId Id { get; set; } public T Value { get; set; } public void InsertDb() { MongoHp.GetCollection<T>().Item3.InsertOne(this); } public UpdateResult UpdateDb(IMongoCollection<BaseCollect<T>> collection = null) { if (collection == null) { return MongoHp.GetCollection<T>().Item3.UpdateOne(i => i.Id == this.Id, Builders<BaseCollect<T>>.Update.Set(i => i.Value, this.Value)); } return collection.UpdateOne(i => i.Id == this.Id, Builders<BaseCollect<T>>.Update.Set(i => i.Value, this.Value)); } } class Usr { public ObjectId Id { get; set; } public string label { get; set; } public DateTime cre_time { get; set; } public double level { get; set; } public Dept OfDept { get; set; } } }
这篇关于netcore MongoDB的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统