.net core 集成mongoDB

news/2024/8/26 15:49:50

NoSQL非关系型数据库支持CAP定理和最终一致性的特性,所以分布式系统中可以完美的结合,提高性能。

第一步:

新建项目

NuGet管理引入了 “MongoDB.Driver";官方链接:http://mongodb.github.io/mongo-csharp-driver/

 

第二步:

实例化连接

// To directly connect to a single MongoDB server
// (this will not auto-discover the primary even if it's a member of a replica set)
var client = new MongoClient();

// or use a connection string
var client = new MongoClient("mongodb://localhost:27017");

// or, to connect to a replica set, with auto-discovery of the primary, supply a seed list of members
var client = new MongoClient("mongodb://localhost:27017,localhost:27018,localhost:27019");

 

第三步:

获取数据库

 _database = client.GetDatabase(databaseName);

第四步:增删改查操作

增:

var document = new MongoDBPostTest
{
    { "name", "MongoDB" },
    { "type", "Database" },
    { "count", 1 }   
};

collection.InsertOne(document);
await collection.InsertOneAsync(document);
批量加还可以collection.InsertMany(list);

删除:

 var collection = _database.GetCollection<T>(typeof(T).Name);
            var filter = Builders<T>.Filter.Lt("count", 100); //小于100
            var result = collection.DeleteOne(filter);

更改:

var filter = Builders<BsonDocument>.Filter.Eq("name", "zhangshan");
var update = Builders<MongoDBPostTest>.Update.Set("name", "zhangshan");
collection.UpdateOne(filter, update);
await collection.UpdateOneAsync(filter, update);

 

查询:

Find方法 四个方法重载

var data = collection.Find(new MongoDBPostTest()).ToList();
var data = await collection.Find(new MongoDBPostTest()).ToListAsync();

 

 排序

var filter = Builders<BsonDocument>.Filter.Exists("i");
var sort = Builders<BsonDocument>.Sort.Descending("i");
var data = collection.Find(filter).Sort(sort).First();

只要某个字段

var projection = Builders<BsonDocument>.Projection.Exclude("_id");
var data = collection.Find(new BsonDocument()).Project(projection).First();

过滤

var filter = Builders<MongoDBPostTest>.Filter.Eq("name", "MongoDB");
var data = collection.Find(filter).ToList();
50 < i <= 100:
var filter = filterBuilder.Gt("i", 50) & filterBuilder.Lte("i", 100);

 


http://www.niftyadmin.cn/n/4353419.html

相关文章

.net core 集成Redis

第一步&#xff1a; 引用StackExchange.Redis 第二步&#xff1a; 初始化 private string constr "127.0.0.1:6379,allowadmintrue"; connect ConnectionMultiplexer.Connect(constr);第三步&#xff1a; 获取数据库 dbconnect.GetDatabase(1);第四步&#xff…

线程安全、简单的单例编写

单例的特性&#xff1a;一、构造方法私有&#xff1b;二、 定义SingleInstance 类型属性 一、不安全的单例 public class SingleInstance {private static SingleInstanceinstance null;public static SingleInstance instance{get{if (instance null){instance new Single…

c# Task启动带参数和返回值的方法

Task启动带参数 Task.Run(() > test("123"));public void Test(string s){...todo.. } Task启动带参数和返回值的方法 var s Task.Run(() > isTest("ss"));var t s.Result;private bool isTest(string isno) {return true;}

Window Server IIS日志查看

安装Log Parser https://www.microsoft.com/en-us/download/details.aspx?id24659 打开log LogParser.exe -i:IISW3C -o:DATAGRID "SELECT c-ip,cs-method,s-port,cs-uri-stem,sc-status,sc-win32-status,sc-bytes,cs-bytes,time-taken FROM D:\Log\u_ex130615.log&qu…

Window Server IIS日志导入到SQL Server查看

配置ODBC log日志可以导出到提供ODBC访问接口的数据库查看 控制面板-ODBC 添加DSN->SQL Server 起个名称&#xff08;随意命名&#xff09; 下一步&#xff1a;选择数据库 下一步&#xff1a;默认就行 点完成 测试数据源 点击确定 点击应用-确定 打开logparser 输入&#…

Window Server IIS日志导入到SQL Server查看之时间转换

根据https://blog.csdn.net/yeluo_vinager/article/details/106147019 日志导入到SQLServer 以后时间是UTC格式 而且日期和时间分开了&#xff0c;导出到SQLSERVER时&#xff0c;会生成二个字段 把UTC时间换成本地时区的时间 有两个方式 一、SQL Server sql语句转换 alter…

Action和Func的使用

Action和Func两者的区别在于Action没有返回值&#xff0c;而Func有返回值。 在调用 Func<int,bool>XXX时,只需要传入一个int型参数即可&#xff0c;它将会返回一个bool类型的值。即Func尖括号内最后一个类型代表该Func的返回类型。

Nssm 安装Window服务

环境&#xff1a;Wind10 1、下载nssm.exe 官网&#xff1a;http://nssm.cc/download 2、解压 根据操作系统选择32位或64位nssm&#xff0c;在该目录启动命令行窗口 3、服务注册 命令行输入&#xff1a; nssm.exe install XX或者nssm install XX Path就是exe的路径&#x…