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

  1. // Empty ctor will get you a
  2. // client with a default localhost and port #27017
  3. MongoClient m = new MongoClient();
  4. //----------------------------------------------------------------------
  5. // Using a connection-string
  6. MongoClient m1 = new MongoClient("mongodb://localhost:27017");
  7. //----------------------------------------------------------------------
  8. // Using MongoClientSettings
  9. MongoClient client = new MongoClient(
  10. new MongoClientSettings
  11. {
  12. Server = new MongoServerAddress("localhost", ),
  13. // Giving 3 seconds for a MongoDB server to be up before we throw
  14. ServerSelectionTimeout = TimeSpan.FromSeconds()
  15. });
  16. //----------------------------------------------------------------------
  17. // Using MongoUrl
  18. MongoClient client1 = new MongoClient(
  19. MongoUrl.Create("mongodb://localhost:27017"));
  20. }

CURD:

  1. MongoClient mongoClient = new MongoClient(configuration["DataBaseConnection:0:host"]);
  2. var dbAdmin = mongoClient.GetDatabase("shoppingMall");
  3. var buyerCollection = dbAdmin.GetCollection<Buyer>("shoppingMall.buyer");
  4. //新增
  5. ////var a= buyerCollection.InsertOneAsync(new Buyer { buyerName="管理员", buyerAge=23, buyerAddress="江汉市天府大道067号", buyerSex='0', buyerIdCard="12355544884474", buyerHeadPortrait="~/images/admin.jpg", buyerAccountNumber="admin1" });
  6. //查询
  7. //linq写法
  8. //var sql = from bb in buyerCollection.AsQueryable()
  9. // select bb;
  10. //sql= sql.Where(t => t.buyerAge >= 22);
  11. //var retlist = sql.ToList();
  12. //ef写法
  13. //var ret = buyerCollection.AsQueryable().GroupBy(t=>new { t.buyerAge }).Where(t=>t.Key.buyerAge>=22);
  14. //var b = ret.ToList();
  15.  
  16. var filterBuilder = Builders<Buyer>.Filter;
  17. var filter = filterBuilder.Gt("buyerAge", ) & filterBuilder.Lt("counter", ) & filterBuilder.Lt("counter", );//多个条件
  18.  
  19. //var filter = Builders<Buyer>.Filter.Gt("buyerAge", 1);//一个条件
  20. var document = await buyerCollection.FindAsync(filter);
  21. var res = document.ToList();
  22.  
  23. //更新
  24. var updateFilter = filterBuilder.Gt("buyerAge", ) & filterBuilder.Lt("buyerAge", );//多个条件
  25.  
  26. var updated = Builders<Buyer>.Update.Set("buyerName", "李四");
  27. var result = buyerCollection.UpdateManyAsync(updateFilter, updated).Result;
  28.  
  29. //删除
  30. var delFilter = filterBuilder.Gt("buyerAge", ) & filterBuilder.Lt("buyerAge", );//多个条件
  31.  
  32. var resut = buyerCollection.DeleteManyAsync(delFilter).Result;

其中:

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

appsettings.json:

  1. "DataBaseConnection": [
  2. {
  3. "host": "mongodb://localhost:27017"
  4. }
  5. ]

读取方法:

  1. public IConfigurationRoot configuration;
  2. public BaseController()
  3. {
  4. //读取appsettings配置
  5. var builder = new ConfigurationBuilder()
  6. .SetBasePath(Directory.GetCurrentDirectory())
  7. .AddJsonFile("appsettings.json");
  8. configuration = builder.Build();
  9. }

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

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

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. Windows下使用pip安装Python模块

    打开cmd窗口: 找到pip安装路径: 拖动pip.exe到命令行窗口: 空格并输入“install 包名”,回车. ========================================= ...

  2. 转 python3中SQLLIT编码与解码之Unicode与bytes

    #########sample########## sqlite3.OperationalError: Could not decode to UTF-8 column 'logtype' with ...

  3. java 与 数据库的连接

    Eclipse中使用SQL server 2017数据库 一.准备材料 要能够使用数据库就要有相应的JDBC,所以我们要去Microsoft官网下载https://www.microsoft.com/ ...

  4. 在IE8下background-image不显示的解决方法

    刚写一个页面,在chrome,FF里调试完后,忽然想起ie来,放到Ie里其它还好了,但是有个背景图片显示不出来. 调试N遍后,只好上stackoverflow去找一下,果然找到了. 最初是这样写的: ...

  5. IntelliJ IDEA里找不到javax.servlet的jar包

    此处有小坑,请注意: https://mvnrepository.com网站查询到的servlet的包的格式为: provided group: 'javax.servlet', name: 'jav ...

  6. MongoDB数据库常用操作

    推荐文章 --- 一天精通MongoDB数据库 注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 1. 删除文档中的一个字段 db.<集合名>.u ...

  7. 手机web前端调试页面的几种方式

    前言 PC端web页面调试比较容易,这里主要说几种移动端调试的方法,从简单到复杂.从模拟调试到远程调试,大概分为几部分: 1.Chrome DevTools(谷歌浏览器)的模拟手机调试 2.weinr ...

  8. C#中StreamReader读取中文文本出现乱码的解决方法

    在编写文本文件读写程序的过程中,有如下代码 StreamReader sr = new StreamReader(FileName); 结果发现打开中文文本文件出现乱码. 究其原因,原来自从Windo ...

  9. HDU 4738——Caocao's Bridges——————【求割边/桥的最小权值】

     Caocao's Bridges Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  10. php spl数据结构

    1.双链表SplDoublyLinkedList 结构如图: 类定义: SplDoublyLinkedList implements Iterator , ArrayAccess , Countabl ...