1)下载安装
下载地址:http://github.com/mongodb/mongo-csharp-driver/downloads
编译之后得到两个dll
MongoDB.Driver.dll:顾名思义,驱动程序
MongoDB.Bson.dll:序列化、Json相关
引用这两个dll。
2)连接数据库:
在连接数据库之前请先确认您的MongoDB已经开启了。
//数据库连接字符串
const string strconn = "mongodb://127.0.0.1:27017";
//数据库名称
const string dbName = "testdb";
//创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
//获得数据库test
MongoDatabase db = server.GetDatabase(dbName);

3)插入数据:
好了数据打开了,现在得添加数据了,我们要添加一条User“记录”到 Users集合中。
在MongoDB中没有表的概念,所以在插入数据之前不需要创建表。
但我们得定义好要插入的数据的模型Users
Users.cs:
    public class Users
    {
        public ObjectId _id;//BsonType.ObjectId 这个对应了 MongoDB.Bson.ObjectId
  public string Name { get; set; }
        public string Sex { set; get; }
    }
_id 属性必须要有,否则在更新数据时会报错:“Element '_id' does not match any field or property of class”。
添加数据的代码:
public void Insert()
{
    //创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
    //获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
    Users users = new Users();
    users.Name = "test";
    users.Sex = "man";
    //获得Users集合,如果数据库中没有,先新建一个
MongoCollection col = db.GetCollection("Users");
    //执行插入操作
col.Insert<Users>(users);
}

4)更新数据
public void Update()
{
    //创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
    //获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
    //获取Users集合
MongoCollection col = db.GetCollection("Users");
    //定义获取“Name”值为“test”的查询条件
var query = new QueryDocument { { "Name", "test" } };
    //定义更新文档
var update = new UpdateDocument { { "$set", new QueryDocument { { "Sex", "wowen" } } } };
    //执行更新操作
col.Update(query, update);
}

5)删除数据
public void Delete()
{
    //创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
    //获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
    //获取Users集合
MongoCollection col = db.GetCollection("Users");
    //定义获取“Name”值为“test”的查询条件
var query = new QueryDocument { { "Name", "test" } };
    //执行删除操作
col.Remove(query);
}

6)查询数据
public void Query()
{
    //创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
    //获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
    //获取Users集合
MongoCollection col = db.GetCollection("Users");
    //定义获取“Name”值为“test”的查询条件
var query = new QueryDocument { { "Name", "test" } };
    //查询全部集合里的数据
var result1 = col.FindAllAs<Users>();
    //查询指定查询条件的第一条数据,查询条件可缺省。
var result2 = col.FindOneAs<Users>();
    //查询指定查询条件的全部数据
var result3 = col.FindAs<Users>(query);
}

在c#中使用mongo-csharp-driver操作mongodb的更多相关文章

  1. 在Thinkphp3.1中使用Mongo的具体操作

    最近研究Mongo项目都是用TP开发的,先介绍下Mongo在TP3.1中的用法 首先要确保你的PHP环境中已经安装好Mongo扩展,在实际项目中大多数都是Mysql数据库为主的,那么如何添加一个Mon ...

  2. MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb

    MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...

  3. c#操作MangoDB 之MangoDB CSharp Driver驱动详解

    序言 MangoDB CSharp Driver是c#操作mongodb的官方驱动. 官方Api文档:http://api.mongodb.org/csharp/2.2/html/R_Project_ ...

  4. [转载]在C#中使用官方驱动操作MongoDB

    在C#中使用官方驱动操作MongoDB 8.1)下载安装 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类 ...

  5. C#中使用官方驱动操作MongoDB

    想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类似.这里我们先用官方提供的mongo-csharp-dri ...

  6. MangoDB CSharp Driver

    1.引用MongoDB for C# Driver 从网上下载C#访问MongoDB的驱动,得到两个DLL: MongoDB.Driver.dll MongoDB.Bson.dll 将它们引用到项目中 ...

  7. php操作mongodb中的ISODate格式日期

    mongodb 中数据记录的日期格式为"dateCreated" : ISODate("2011-12-20T07:22:50.836Z")经过翻阅php官网中 ...

  8. 使用Mongo官方驱动操作Mongo数据库

    首先到 https://github.com/mongodb/mongo-csharp-driver/downloads 下载Mongo官方驱动 下载完成后引用到项目中 public class Co ...

  9. C# Asp.net中简单操作MongoDB数据库(一)

    需要引用MongoDB.Driver.dll.MongoDB.Driver.core.dll.MongoDB.Bson.dll三个dll. 1.数据库连接: public class MongoDb ...

  10. Spring Boot中快速操作Mongodb

    Spring Boot中快速操作Mongodb 在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下: <dependency> ...

随机推荐

  1. OpenCV数据结构:CvMat,IplImage,CvArr的应用

    最近看HS算法时,发现在新的OpenCV3.0已经移除了该算法,于是不得不看老版的.这其中涉及到了CvMat,CvArr,IplImage的使用.关于这三个结构与Mat的转换关系,总结如下: (1)派 ...

  2. WPF异步调用

    this.Dispatcher.BeginInvoke(new Action(()=> this.textBlock1.Text = DateTime.Now.ToString("HH ...

  3. JQuery基础教程:入门

    JQuery能做什么 JQuery在线手册 1.取得文档中的元素 如果不使用JavaScript库,遍历DOM(Document Object Model,文档对象模型)树,以及查找HTML文档结构中 ...

  4. 下载和编译 Open XML SDK

    我们需要一些工具来开始 Open XML 的开发. 开发工具 推荐的开发工具是 Visual Studio 社区版. 开发工具:Visual Studio Community 2013 下载地址:ht ...

  5. kubernetes学习笔记1

    安装篇 Downloading Kubernetes You can either build a release from sources or download a pre-built relea ...

  6. 【LeetCode】13. Roman to Integer 罗马数字转整数

    题目: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from ...

  7. c# 读取XML数据

    1.首先调用接口,要有一个post数据到指定url并返回数据的函数: protected string PostXmlToUrl(string url, string postData) { stri ...

  8. jQuery 的随机密码生成 .

    $.extend({ password: function (length, special) { var iteration = 0; var password = ""; va ...

  9. 在yii中使用gearman

    最近项目需要将利用gearman进行任务调度,目前所用框架为yii,在部署好gearman后,试图在yii中调用gearman,一直报错: 提示reverse函数没有定义,明明已经定义了啊!可能是当时 ...

  10. 旅行计划-DAG上最长路

    http://www.luogu.org/problem/show?pid=1137 题目描述 小明要去一个国家旅游.这个国家有N个城市,编号为1-N,并且有M条道路连接着,小明准备从其中一个城市出发 ...