Mongodb 官网驱动2.2.4.26版本 增,删 改,查
Mongodb是3.2.7版本
最近在学习mongodb数据库在网上找到的都不是2.X版本以下的,因为驱动从2.X以后修改了很多,以前不支持linq现2.X也支持了,
Mongodb 启动服务就不说了现在就来看看基本的操作
上代码:
首先定义一个模型用来测试操作
public class Persion
{
//引用using MongoDB.Bson.Serialization.Attributes;
[BsonId]
public string _id;
public string Name;
public int age;
public string Email;
public string TableName
{
get{return "persion"; }
}
}
将mongob C#driver 添加到引用,引用方式可以通过Nuget添加 或者直接到官网去下载然后添加到项目中,

配置创建mongodbClient 注:【以前的版本是MongoServer】并做好配置
地址可以使用远程的或者是本地的,现在是使用本地的
//数据库连接字符串
static string conn = "mongodb://127.0.0.1:27017";
//数据库名称
static string database = "appdb";//数据库名
static MongoUrl url = new MongoUrl(conn);
static MongoClient ci = new MongoClient(url);//创建mongoClient
static IMongoDatabase db = ci.GetDatabase(database);//获取数据库
以下就是数据的具体操作方法
//添加数据
public static void InsertUser(Persion per = null)
{
//链接到表,数据库中存不存在表没关系,不存在mongodb会自动创建一个Collection
//("persion")Collection也叫表
var colls = db.GetCollection<Persion>("persion");
per = new Persion { _id = Guid.NewGuid().ToString(), Name = "ynland@126.com", age = };
colls.InsertOne(per); }
//修改
public static void Updat()
{
//获取数据
var colls = db.GetCollection<Persion>("persion");
var model = colls.Find(c => c.Name =="ynland" ).FirstOrDefault();//筛选数据
//条件。相当于where后面的 Filte.Eq 相当于等号 Filter.Eq("字段",匹配值)
var filter = MongoDB.Driver.Builders<Persion>.Filter.Eq("Name", model.Name);
//修改的值,set("字段","修改后值") 注意 字段要和数据库中字段匹配,不匹配找不到会自动新建一个字段并赋值
var update = MongoDB.Driver.Builders<Persion>.Update.Set("age", "");
// colls.UpdateOne(filter, update);//修改一条数据
UpdateResult res= colls.UpdateMany(filter, update);//多条修改 }
public static void DeleteInfo()
{
var colls = db.GetCollection<Persion>("persion");
colls.DeleteOne(c => c.age == );
}
//获取数据
public static void GetAllInfo()
{
//数据类型要一致才能不序列化
var t = db.GetCollection<Persion>("persion").Find(c => c.Name!=string.Empty);
List<Persion> list = t.ToList();
}
在修改的时候筛选,和set方便地方

筛选的条件Filter.XXX("字段名",“陪配值”)这样来筛选

在set的时候可以set().set().set().set().........这样来赋值
全部代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Linq;
using MongoDB.Bson.Serialization.Attributes; namespace MongoTest1
{
public static class MongoUnitily
{
//数据库连接字符串
static string conn = "mongodb://127.0.0.1:27017";
//数据库名称
static string database = "appdb";//数据库名
static MongoUrl url = new MongoUrl(conn);
static MongoClient ci = new MongoClient(url);//创建mongoClient
static IMongoDatabase db = ci.GetDatabase(database);//获取数据库
//添加数据
public static void InsertUser(Persion per = null)
{
//链接到表,数据库中存不存在表没关系,不存在mongodb会自动创建一个Collection
//("persion")Collection也叫表
var colls = db.GetCollection<Persion>("persion");
per = new Persion { _id = Guid.NewGuid().ToString(), Name = "ynland@126.com", age = };
colls.InsertOne(per); }
//修改
public static void Updat()
{
//获取数据
var colls = db.GetCollection<Persion>("persion");
var model = colls.Find(c => c.Name =="ynland" ).FirstOrDefault();//筛选数据
//条件。相当于where后面的 Filte.Eq 相当于等号 Filter.Eq("字段",匹配值)
var filter = MongoDB.Driver.Builders<Persion>.Filter.AnyEq("Name", model.Name);
//修改的值,set("字段","修改后值") 注意 字段要和数据库中字段匹配,不匹配找不到会自动新建一个字段并赋值
var update = MongoDB.Driver.Builders<Persion>.Update.Set("age", "");
// colls.UpdateOne(filter, update);//修改一条数据
UpdateResult res= colls.UpdateMany(filter, update);//多条修改 }
public static void DeleteInfo()
{
var colls = db.GetCollection<Persion>("persion");
colls.DeleteOne(c => c.age == );
}
//获取数据
public static void GetAllInfo()
{
//数据类型要一致才能不序列化
var t = db.GetCollection<Persion>("persion").Find(c => c.Name!=string.Empty);
List<Persion> list = t.ToList();
} }
}
public class Persion
{
//引用using MongoDB.Bson.Serialization.Attributes;
[BsonId]
public string _id;
public string Name;
public int age;
public string Email;
public string TableName
{
get{return "persion"; }
}
}
Mongodb 官网驱动2.2.4.26版本 增,删 改,查的更多相关文章
- Mongodb 官网驱动2.2.4.26版本 增,删 改,查,mongodb2.2.4.26
Mongodb是3.2.7版本 最近在学习mongodb数据库在网上找到的都不是2.X版本以下的,因为驱动从2.X以后修改了很多,以前不支持linq现2.X也支持了, Mongodb 启动服务就不说了 ...
- MongoDB官网驱动仓库封装
定义IMongoRepositoryBase接口 public interface IMongoRepositoryBase { /// <summary> ...
- Java操作MongoDB:连接&增&删&改&查
1.连接 ①方式一 MongoClientOptions.Builder builder = MongoClientOptions.builder(); //可以通过builder做各种详细配置 Mo ...
- MongoDB增 删 改 查
增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...
- Ubuntu14.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...
- Ubuntu16.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 前期博客 Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...
- MongoDB 红宝书-MongoDB官网使用指南
本文转载自Mongodb中文社区:http://www.mongoing.com/archives/27359 无论你是MongoDB的使用者.爱好者.初学者还是路人甲,有一个学习与进修的资源宝藏是千 ...
- 如何在官网下载java JDK的历史版本
如何在官网下载java JDK的历史版本 http://jingyan.baidu.com/article/9989c746064d46f648ecfe9a.html 如何在官网下载java JDK的 ...
- MongoDB 官网教程 下载 安装
官网:https://www.mongodb.com/ Doc:https://docs.mongodb.com/ Manual:https://docs.mongodb.com/manual/ 安装 ...
随机推荐
- GIT修改邮箱
git报错-->! [remote rejected] master -> master (push declined due to email privacy restrictions) ...
- JVM的内存结构,JVM的回收机制
内存作为系统中重要的资源,对于系统稳定运行和高效运行起到了关键的作用,Java和C之类的语言不同,不需要开发人员来分配内存和回收内存,而是由JVM来管理对象内存的分配以及对象内存的回收(又称为垃圾回收 ...
- [2]树的DFS序
定义: 树的DFS序就是在对树进行DFS的时候,对树的节点进行重新编号:DFS序有一个很强的性质: 一颗子树的所有节点在DFS序内是连续的一段, 利用这个性质我们可以解决很多问题. 代码: void ...
- CSS 笔记——列表表格
6. 列表表格 -> 列表 (1)list-style 基本语法 list-style : list-style-image || list-style-position || list-sty ...
- [BZOJ3140][HNOI2013]消毒(二分图最小点覆盖)
3140: [Hnoi2013]消毒 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1621 Solved: 676[Submit][Status] ...
- python3-开发进阶Flask的基础(5)
内容概要: SQLAlchemy flsak-sqlalchemy flask-script flask-migrate Flask的目录结构 一.SQLAlchemy 1.概述 SQLAlchemy ...
- Spring Mvc 前台数据的获取、SpringMvc 表单数据的获取
首先在web.xml 里面配置一个编码过滤器 <!-- springmvc框架本身没有处理请求编码,我们自己配置一个请求编码过滤器 --> <filter> <filte ...
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) B. Little Artem and Grasshopper 模拟题
B. Little Artem and Grasshopper 题目连接: http://www.codeforces.com/contest/669/problem/B Description Li ...
- WEB安全扫描器Netsparker推荐给大家
Netsparker是一款综合型的web应用安全漏洞扫描工具,它分为专业版和免费版,免费版的功能也比较强大. Netsparker与其他综合 性的web应用安全扫描工具相比的一个特点是它能够更好的检测 ...
- 给WebAPI的REST接口添加测试页面(二)
在上篇文章中,我对Swagger-UI的基本功能进行了一些介绍,今天在这里介绍一下如何在WebAPI中集成Swagger-UI.这里以一个简单的CRUD的REST服务为例. /// <summa ...