连接数据库:参考地址: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. pl/sql declare loop if

    -- 1.判断表是否存在,如果存在则drop表 -- 2.创建表 -- 3.插入1W条数据 -- 4.每1K条commit一次 declare v_table ):='STUDENT'; --表名 v ...

  2. mysql隔离级别与锁,接口并发响应速度的关系(1)

    默认隔离级别:可重复读 原始数据 | id | name | addr | | nick | NULL | 事务1 事务2 start transaction start transaction ; ...

  3. 问题:git处理中文名称时候显示为编码形式(已解决)

    问题描述: Untracked files: (use "git add <file>..." to include in what will be committed ...

  4. 普通用户不能使用sudo命令的解决办法

    普通用户不能使用sudo命令的解决办法 https://www.cnblogs.com/fasthorse/p/5949946.html 1. 切换到root用户下:su – root 2. 给/et ...

  5. 转:zookeeper配置运行——较为详细的教程

    zookeeper:http://blog.csdn.net/morning99/article/details/40426133 dubbo+zookeeper详细:http://www.cnblo ...

  6. js中的内置对象

    在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质.注意:通过字面量创建的对象在调用属性和 ...

  7. sqoop导入数据

    来源https://www.cnblogs.com/qingyunzong/p/8807252.html 一.概述 sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据 ...

  8. linux 访问 windows 共享文件夹

    http://www.01happy.com/linux-access-windows-shares-folders/

  9. GitKraken使用教程-基础部分(5)

    7. 提交代码 1) 查看文件改动 修改了某个文件后,在程序右侧会出现已修改文件的列表(如图 1‑1),这里以Test.git 为例,修改了19264.h 的文件编码,将其改为utf8.Unstage ...

  10. activeMq 配置(一)

    基础知识补充 1.ActiveMQ从入门到精通(一)https://www.jianshu.com/p/ecdc6eab554c 2.ActiveMQ从入门到精通(二)https://www.jian ...