连接数据库:参考地址: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. java/Android String.split 字符串分割

    特殊符号分割时需加[].如下图

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

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

  3. Forbidden You don't have permission to access XXX on this server

    Forbidden You don't have permission to access / on this server. 找到 apache 配置文件 httpd.conf 把里面的 <D ...

  4. 用NaviCat创建存储过程批量添加测试数据

    打开navicat连接上数据库,然后打开左上角函数,新建一个函数. BEGIN DECLARE i int; --声明变量 DECLARE groupid int; set i=LAST_INSERT ...

  5. robotframework使用过程中的若干问题

    问题0: 在ride上import library,显示红色解决办法:根据菜单栏tools--view ride log提示依次安装缺少的模块,包括natsort.xlrd.xlwd.xlutils, ...

  6. c++中 重载 覆盖 隐藏的区别 附加 mutable笔记

    成员函数被重载的特征有: 1) 相同的范围(在同一个类中): //2) 函数名字相同: 3) 参数不同: 4) virtual关键字可有可无. 覆盖的特征有: 1) 不同的范围(分别位于派生类与基类) ...

  7. suau 公约公倍

    8619 公约公倍 时间限制:500MS  内存限制:1000K 提交次数:475 通过次数:108 题型: 编程题   语言: G++;GCC Description  给定六个正整数a,b,c,d ...

  8. Murano Weekly Meeting 2016.06.14

    Meeting time: 2016.June.14 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1. ...

  9. c3p0 数据连接池 流行开源

    注意事项:配置文件规定命名,不能更改   c3p0-config <?xml version="1.0" encoding="UTF-8"?>< ...

  10. jQuery综述

    jQuery是一个轻量级JavaScript库 它可以进行如下操作: 选取HTML元素 对HTML元素进行操作 对CSS进行操作 编写HTML事件函数 JavaScript特效 HTML DOM AJ ...