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版下载,然后安装. 二.安装完毕后创建数据 ...
随机推荐
- pl/sql declare loop if
-- 1.判断表是否存在,如果存在则drop表 -- 2.创建表 -- 3.插入1W条数据 -- 4.每1K条commit一次 declare v_table ):='STUDENT'; --表名 v ...
- mysql隔离级别与锁,接口并发响应速度的关系(1)
默认隔离级别:可重复读 原始数据 | id | name | addr | | nick | NULL | 事务1 事务2 start transaction start transaction ; ...
- 问题:git处理中文名称时候显示为编码形式(已解决)
问题描述: Untracked files: (use "git add <file>..." to include in what will be committed ...
- 普通用户不能使用sudo命令的解决办法
普通用户不能使用sudo命令的解决办法 https://www.cnblogs.com/fasthorse/p/5949946.html 1. 切换到root用户下:su – root 2. 给/et ...
- 转:zookeeper配置运行——较为详细的教程
zookeeper:http://blog.csdn.net/morning99/article/details/40426133 dubbo+zookeeper详细:http://www.cnblo ...
- js中的内置对象
在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质.注意:通过字面量创建的对象在调用属性和 ...
- sqoop导入数据
来源https://www.cnblogs.com/qingyunzong/p/8807252.html 一.概述 sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据 ...
- linux 访问 windows 共享文件夹
http://www.01happy.com/linux-access-windows-shares-folders/
- GitKraken使用教程-基础部分(5)
7. 提交代码 1) 查看文件改动 修改了某个文件后,在程序右侧会出现已修改文件的列表(如图 1‑1),这里以Test.git 为例,修改了19264.h 的文件编码,将其改为utf8.Unstage ...
- activeMq 配置(一)
基础知识补充 1.ActiveMQ从入门到精通(一)https://www.jianshu.com/p/ecdc6eab554c 2.ActiveMQ从入门到精通(二)https://www.jian ...