连接数据库:参考地址:https://blog.oz-code.com/how-to-mongodb-in-c-part-2/

        // Empty ctor will get you a
// client with a default localhost and port #27017
MongoClient m = new MongoClient();
//----------------------------------------------------------------------
// Using a connection-string
MongoClient m1 = new MongoClient("mongodb://localhost:27017");
//----------------------------------------------------------------------
// Using MongoClientSettings
MongoClient client = new MongoClient(
new MongoClientSettings
{
Server = new MongoServerAddress("localhost", ),
// Giving 3 seconds for a MongoDB server to be up before we throw
ServerSelectionTimeout = TimeSpan.FromSeconds()
});
//----------------------------------------------------------------------
// Using MongoUrl
MongoClient client1 = new MongoClient(
MongoUrl.Create("mongodb://localhost:27017"));
}

CURD:

MongoClient mongoClient = new MongoClient(configuration["DataBaseConnection:0:host"]);
var dbAdmin = mongoClient.GetDatabase("shoppingMall");
var buyerCollection = dbAdmin.GetCollection<Buyer>("shoppingMall.buyer");
//新增
////var a= buyerCollection.InsertOneAsync(new Buyer { buyerName="管理员", buyerAge=23, buyerAddress="江汉市天府大道067号", buyerSex='0', buyerIdCard="12355544884474", buyerHeadPortrait="~/images/admin.jpg", buyerAccountNumber="admin1" });
//查询
//linq写法
//var sql = from bb in buyerCollection.AsQueryable()
// select bb;
//sql= sql.Where(t => t.buyerAge >= 22);
//var retlist = sql.ToList();
//ef写法
//var ret = buyerCollection.AsQueryable().GroupBy(t=>new { t.buyerAge }).Where(t=>t.Key.buyerAge>=22);
//var b = ret.ToList(); var filterBuilder = Builders<Buyer>.Filter;
var filter = filterBuilder.Gt("buyerAge", ) & filterBuilder.Lt("counter", ) & filterBuilder.Lt("counter", );//多个条件 //var filter = Builders<Buyer>.Filter.Gt("buyerAge", 1);//一个条件
var document = await buyerCollection.FindAsync(filter);
var res = document.ToList(); //更新
var updateFilter = filterBuilder.Gt("buyerAge", ) & filterBuilder.Lt("buyerAge", );//多个条件 var updated = Builders<Buyer>.Update.Set("buyerName", "李四");
var result = buyerCollection.UpdateManyAsync(updateFilter, updated).Result; //删除
var delFilter = filterBuilder.Gt("buyerAge", ) & filterBuilder.Lt("buyerAge", );//多个条件 var resut = buyerCollection.DeleteManyAsync(delFilter).Result;

其中:

configuration["DataBaseConnection:0:host"]属于。netcore的连接字符串写法。具体实现如下:

appsettings.json:

"DataBaseConnection": [
{
"host": "mongodb://localhost:27017"
}
]

读取方法:

        public IConfigurationRoot configuration;
public BaseController()
{
//读取appsettings配置
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
configuration = builder.Build();
}

其中,更新多个字段和查询指定字段()投影)的写法:

 //var filter = Builders<Buyer>.Filter.Gt("buyerAge", 1);//一个条件
var document = buyerCollection.Find(filter).Project(x=>new {buyerAddress=x.buyerAddress,buyerAge=x.buyerAge });//指定字段
var res = document.ToList(); ////更新
//var updateFilter = filterBuilder.Gt("buyerAge", 20) & filterBuilder.Lt("buyerAge", 50);//多个条件 //var updated = Builders<Buyer>.Update.Set("buyerName", "李四").Set("buyerAge", 12);//更新多个
  var result = await collection.FindOneAndUpdateAsync(
Builders<BsonDocument>.Filter.Eq("MasterID", ),
Builders<BsonDocument>.Update.Set("MasterID", )
);

mongodb在C#的连接以及curd写法的更多相关文章

  1. mongodb远程数据库的连接以及备份导入导出数据

    环境win10; 运行cmd cd到目录mongodb的bin目录: 连接远程mongodb: 连接命令:mongo -u username -p pwd host:post/database(数据库 ...

  2. windows下mongodb基础玩法系列二CURD附加一

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  3. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  4. .net连接sql server的几种连接字符串的写法

    .net连接sql server的几种连接字符串的写法 1, 混合验证模式登录 server=电脑名 或 电脑IP;database=数据库名;uid=数据库登录名;password=数据库登录密码 ...

  5. 孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库

    孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第二 ...

  6. YII 1.0 常用CURD写法

    <?php //yii1.0 curd简单写法 //查询 Yii::app()->db->createCommand($sql)->queryAll();//查询所有行数据 ​ ...

  7. MongoDB学习(1)--安装,基本curd操作

    知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...

  8. mongodb or操作与连接池

    mongodb # 类似于sql中的in或者or操作 mulites field query: db.cool.find({$or:[{field1:'val'},{'field2':'val'}-] ...

  9. windows下安装mongodb以及node.js连接mongodb

    一.MongoDB 下载 下载地址  https://www.mongodb.com/download-center#community  选择windows版下载,然后安装. 二.安装完毕后创建数据 ...

随机推荐

  1. linux中的目录配置

    一.权限对文件的重要性 1.r(read):可读取此文件的实际内容,读取文本文件的文字内容等. 2.w(write):可以编辑,新增或者是修改该文件的内容. 3.x(execute):该文件具有可以被 ...

  2. Python 错误总结

    1.以一种访问权限不允许的方式做了一个访问套接字的尝试. 解决方法:这个问题缘由是有端口被占用

  3. hive 存储格式及压缩

    -- 设置参数 set hivevar:target_db_name=db_dw; use ${hivevar:target_db_name}; -- 创建textfile表 create table ...

  4. spring 通过beanDefinition注册自定义规则的bean

    目的: 扫描某个自定义注解标注的类, 或者自定义xml 为这些类生成spring Bean 基本原理:org.springframework.beans.factory.support.Default ...

  5. c++11 多线程 1

    第3章 线程间共享数据 本章主要内容 共享数据带来的问题 使用互斥量保护数据 数据保护的替代方案 保护共享数据结构的最基本的方式,是使用C++标准库提供的互斥量(mutex). 清单3.1 使用互斥量 ...

  6. [一点一滴.NET]前台线程和后台线程

    前台线程和后台线程就是通过线程实例的属性IsBackground=true or false来区分的. 新建一个线程是默认是后台线程. 前台线程全部执行完之后,才退出进程. 进程退出,所有的后台线程全 ...

  7. 自定义Qt组件-通讯模块(P2)

    1.  抽象协议AbstractProtocol 抽象协议AbstractProtocol定义CommManager与协议之间的接口.AbstractProtocol中的一些属性(如enabled)用 ...

  8. .NET面试题4

    常见面试题目: 1.字符串是引用类型类型还是值类型? 2.在字符串连接处理中,最好采用什么方式,理由是什么? 3.使用 StringBuilder时,需要注意些什么问题? 4.以下代码执行后内存中会存 ...

  9. <jsp:javabean>动作标签实例

    <jsp:javabean>动作标签实例 之后补齐基础知识 scope属性 该属性指定了所创建Bean实例的存取范围,省略该属性时的值为page.<jsp:useBean>标识 ...

  10. jsp---》》》新闻发布系统的项目跟踪+++++++文件上传

    先来一个分层架构图: WeebRoot目录下的页面: 现在,此项目以实现登录,注销,新闻列表,编辑主题>>>> 先来登录部分的关键代码 index.jsp中的代码 userIn ...