mongodb在C#的连接以及curd写法
连接数据库:参考地址: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写法的更多相关文章
- mongodb远程数据库的连接以及备份导入导出数据
环境win10; 运行cmd cd到目录mongodb的bin目录: 连接远程mongodb: 连接命令:mongo -u username -p pwd host:post/database(数据库 ...
- windows下mongodb基础玩法系列二CURD附加一
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- .net连接sql server的几种连接字符串的写法
.net连接sql server的几种连接字符串的写法 1, 混合验证模式登录 server=电脑名 或 电脑IP;database=数据库名;uid=数据库登录名;password=数据库登录密码 ...
- 孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库
孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第二 ...
- YII 1.0 常用CURD写法
<?php //yii1.0 curd简单写法 //查询 Yii::app()->db->createCommand($sql)->queryAll();//查询所有行数据 ...
- MongoDB学习(1)--安装,基本curd操作
知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...
- mongodb or操作与连接池
mongodb # 类似于sql中的in或者or操作 mulites field query: db.cool.find({$or:[{field1:'val'},{'field2':'val'}-] ...
- windows下安装mongodb以及node.js连接mongodb
一.MongoDB 下载 下载地址 https://www.mongodb.com/download-center#community 选择windows版下载,然后安装. 二.安装完毕后创建数据 ...
随机推荐
- Windows下使用pip安装Python模块
打开cmd窗口: 找到pip安装路径: 拖动pip.exe到命令行窗口: 空格并输入“install 包名”,回车. ========================================= ...
- 转 python3中SQLLIT编码与解码之Unicode与bytes
#########sample########## sqlite3.OperationalError: Could not decode to UTF-8 column 'logtype' with ...
- java 与 数据库的连接
Eclipse中使用SQL server 2017数据库 一.准备材料 要能够使用数据库就要有相应的JDBC,所以我们要去Microsoft官网下载https://www.microsoft.com/ ...
- 在IE8下background-image不显示的解决方法
刚写一个页面,在chrome,FF里调试完后,忽然想起ie来,放到Ie里其它还好了,但是有个背景图片显示不出来. 调试N遍后,只好上stackoverflow去找一下,果然找到了. 最初是这样写的: ...
- IntelliJ IDEA里找不到javax.servlet的jar包
此处有小坑,请注意: https://mvnrepository.com网站查询到的servlet的包的格式为: provided group: 'javax.servlet', name: 'jav ...
- MongoDB数据库常用操作
推荐文章 --- 一天精通MongoDB数据库 注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 1. 删除文档中的一个字段 db.<集合名>.u ...
- 手机web前端调试页面的几种方式
前言 PC端web页面调试比较容易,这里主要说几种移动端调试的方法,从简单到复杂.从模拟调试到远程调试,大概分为几部分: 1.Chrome DevTools(谷歌浏览器)的模拟手机调试 2.weinr ...
- C#中StreamReader读取中文文本出现乱码的解决方法
在编写文本文件读写程序的过程中,有如下代码 StreamReader sr = new StreamReader(FileName); 结果发现打开中文文本文件出现乱码. 究其原因,原来自从Windo ...
- HDU 4738——Caocao's Bridges——————【求割边/桥的最小权值】
Caocao's Bridges Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- php spl数据结构
1.双链表SplDoublyLinkedList 结构如图: 类定义: SplDoublyLinkedList implements Iterator , ArrayAccess , Countabl ...