首先添加所需要驱动包(可通过nuget获得)

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;

一、设置配置信息

  //连接信息
static string conn = "mongodb://localhost";
static string database = "test";
static string collection = "person"; static MongoServer mongodb = MongoServer.Create(conn);//连接数据库
static MongoDatabase db = mongodb.GetDatabase(database);//选择数据库名
static MongoCollection mc = db.GetCollection(collection);//选择集合,相当于表

二、插入数据库

public static void Insert(Person p)
{
  mc.Insert(p);
} public static void Insert(BsonDocument b)
{
  mc.Insert(b);
}

三、更新数据库

     public static void Update(Person p)
{
BsonDocument bd = BsonExtensionMethods.ToBsonDocument(p);
IMongoQuery query = Query.EQ("_id", p._id);
mc.Update(query, new UpdateDocument(bd));
} public static void Update(QueryDocument q,UpdateDocument u)
{
mc.Update(q, u);
}

四、删除某条记录

 public static void Delete(int id)
{
mc.Remove(Query.EQ("_id", id));
}

五、查询数据库

        public static Person Find(int id)
{
return mc.FindOneAs<Person>(Query.EQ("_id", id));
} public static MongoCursor<Person> FindAll()
{
return mc.FindAllAs<Person>();
} public static MongoCursor<Person> Select(QueryDocument q)
{
return mc.FindAs<Person>(q);
}

六、统计数据个数

 public static long Count(QueryDocument q)
{
return mc.Count(q);
}

七、排序和分页

   public static MongoCursor<Person> SkipAndLimit(int a, int b)
{
return mc.FindAllAs<Person>().SetSkip(a).SetLimit(b);
}

八、应用与示例

   static void Main(string[] args)
{
mongodb.Connect(); //var person = Find(124);
//Console.WriteLine(person.Name); //person.Name = "guizhu";
//Update(person);
//Console.WriteLine(person.Name); var query = new QueryDocument { { "_id",} };
var update = new UpdateDocument { { "$set", new QueryDocument { { "PassWord", "aaaaa" } } } };
Update(query,update); //对象插入
//Person p = new Person { _id = 12, Name = "hello", PassWord = "4444" };
//Insert(p); //BsonDocument 插入
//BsonDocument b = new BsonDocument();
//b.Add("_id", 13);
//b.Add("Name", "world");
//b.Add("PassWord", "6666");
//Insert(b); //var p= FindAll();
//foreach (var person in p)
//{
// Console.WriteLine(person.Name);
//} //QueryDocument query = new QueryDocument();
//BsonDocument b = new BsonDocument();
//b.Add("$gte", 123);
//b.Add("$lt", 125);
//query.Add("_id", b);
//var p=Select(query);
//foreach (var person in p)
//{
// Console.WriteLine(person.Name);
//} //Console.WriteLine(Count(query)); //FieldsDocument f = new FieldsDocument();
//f.Add("Name", 1);
//MongoCursor<Person> m = mc.FindAs<Person>(query).SetFields(f);
//foreach (var person in p)
//{
// Console.WriteLine(person.Name);
//} //SortByDocument s = new SortByDocument();
//s.Add("_id", 1);//-1=DESC
//var p = Sort(s);
//foreach (var person in p)
//{
// Console.WriteLine(person.Name);
//} //var p = SkipAndLimit(1, 3);
//foreach (var person in p)
//{
// Console.WriteLine(person.Name);
//} //Delete(12);
Console.WriteLine("完成");
Console.ReadLine();
}
  class Person
{
public int _id;
public string Name;
public string PassWord; }

源码下载地址:链接:http://pan.baidu.com/s/1c0tlXZi 密码:1es5

C#实现对mongoDB的简单增删查改的更多相关文章

  1. Linq实现对XML的简单增删查改

    一.传统DOM创建XML方法 private static void CreateXmlDocWithDom() { XmlDocument doc =new XmlDocument(); XmlEl ...

  2. MongoDB数据库(二):增删查改

    MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...

  3. mybatis、spring、mysql、maven实现简单增删查改

    之前写过的mybatis博客作为学习mybatis.spring还是不太合适. 现在找到一个不错的例子,首先将这个完整的mybatis增删查改例子在本地上实现出来,然后再进行学习. 项目结构与运行结果 ...

  4. MongoDB数据库进阶 --- 增删查改...

    注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 在之前的文章中,我已经介绍了什么事MongoDB以及怎么在windows下安装MongoDB等等基本知识. ...

  5. Javaweb实现对mongodb的增删改查(附带源代码)

    运行截图: 删除后的信息 项目源代码:https://www.cnblogs.com/post/readauth?url=/zyt-bg/p/9807396.html

  6. Elasticsearch8.1-ElasticsearchClient-Java客户端简单增删查改-随笔

    环境准备 Springboot 基本环境 自行前往https://start.spring.io/ 构建一个即可 Elasticsearch服务端 简单说下windows版本的安装  https:// ...

  7. Node.js+Navicat for MySQL实现的简单增删查改

    前提准备: 电脑上必须装有服务器环境,Navicat for MySQL(我用的是这款MySQL,可随意),Node环境 效果如图所示: 源码地址: GitHub:https://github.com ...

  8. 8天学通MongoDB——第二天 细说增删查改

    原文地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/19/2357846.html 看过上一篇,相信大家都会知道如何开启mongodb了 ...

  9. MongoDB入门学习(三):MongoDB的增删查改

            对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改.         由于M ...

随机推荐

  1. UML学习(一)类图和对象图

    对象是一个概念,一种抽象或者事物.对象能够是具有现实意义的事物,也能够是抽象的一个概念.比方,一家公司或者一个进程. 类是一组对象的集合或者抽象的概念.类具有同样的属性和方法. 介绍完基本对象和类的基 ...

  2. CF(427D-Match &amp; Catch)后缀数组应用

    题意:给两个字符串,求一个最短的子串.使得这个子串在两个字符串中出现的次数都等于1.出现的定义为:能够重叠的出现. 解法:后缀数组的应用.从小枚举长度.假设一个长度len合法的话:则一定存在这个样的s ...

  3. T4模板合并js

    使用T4模板合并js文件 不知道该怎么表达,或许直接贴图贴代码更好 前因:在第一个使用angularjs的项目中我将所有的controller写到一个文件里面,深知维护起来那滋味,所以再次使用angu ...

  4. centos 彻底删除nodejs默认的安装文件

    1> yum remove nodejs npm -y 2> cd  /usr/local/lib 移除所有 node 和 node_modules目录 cd  /usr/local/in ...

  5. 大数据的胖哥的方式(9)- 金融业数据仓库的逻辑模型FS-LDM

    介绍: 大数据是不是海市蜃楼,来自小橡子只是意淫奥克斯,大数据的发展,而且要从头开始,基于大数据建设国家.项目-level数据中心行业将越来越多,大数据仅供技术,而非溶液,临数据组织模式,数据逻辑模式 ...

  6. POJ 2828 Buy Tickets(排队问题,线段树应用)

    POJ 2828 Buy Tickets(排队问题,线段树应用) ACM 题目地址:POJ 2828 Buy Tickets 题意:  排队买票时候插队.  给出一些数对,分别代表某个人的想要插入的位 ...

  7. Cocos2d-x 3.x plist+png 做动画

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  8. hdu 3572 Task Schedule (dinic算法)

    pid=3572">Task Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  9. SQL Server 内存泄露(memory leak)——游标导致的内存问题

    原文:SQL Server 内存泄露(memory leak)--游标导致的内存问题 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql ...

  10. Think in Java(一):Java基础

    一. OOP的特点 (1) 万物皆为对象; (2) 程序是对象的集合,他们通过发送信息来告诉彼此所要做的; (3) 每一个对象都有自己的由其它对象所构成的存储; (4) 每一个对象都拥有它的类型; ( ...