首先添加所需要驱动包(可通过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. iOS_17_控制开关_TabBarController_由storyboard道路

    最后效果图: main.storyboard BeyondViewController.m中有一句关键代码,设置tabbarItem图片的样式(30*30) // // BeyondViewContr ...

  2. 开发一个Swing功能时的一点总结

    对JTextField进行效验,有两个途径:(1)是使用javax.swing.InputVerifier在获取焦点时进行校验(2)在点击“确定”按钮的监听事件中对控件的值进行校验 鉴于涉及的业务比较 ...

  3. 《Pro Android Graphics》读第三季度票据

    Android Frame Animation: XML, Concepts and Optimization Frame Animation Concepts: Cels, Framerate, a ...

  4. Swift1_关闭

    // main.swift // swift1_关闭 // Created by beyond on 15/6/12. // Copyright (c) 2015年 beyond.com All ri ...

  5. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  6. C语言easy忽视的细节(第四部分)

    前言:本文的目的是记录C这些语言easy忽视的细节.我会每天花一点时间来阅读整理,坚持下去,今天是第一章.也许今天是下个月的第二,明年,今天是第几?--我坚信,,记性不如烂笔头.第四篇了.fight~ ...

  7. MVC简单的认识

    学习一个新知识,首先要了解的就是以下几个问题,它是什么?它能干什么?使用它有什么优点?这篇文章就环绕这几个问题来展开讨论. mvc不是一种编程语言,严格来说.它都不算是一门技术.它是开发软件时使用的一 ...

  8. 网络的基本概念TCP, UDP, 单播(Unicast), 多播(多播)(Multicast)

    章相当低级,但相当重要! 我们周围一切差点儿都依赖于把事情抽象成低等级,并在某一点把它详细化,在一些设计概念中.接口层十分清晰而且目标非常集中,应用程序不用考虑操作系统怎样工作,操作系统也不用考虑硬件 ...

  9. RH253读书笔记(10)-Appendix A Installing Software

    Appendix A Installing Software Below are a few methods to locate and install required packages. You ...

  10. android JNI 简单demo(2)它JNI demo 写

    android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...