C#实现对mongoDB的简单增删查改

首先添加所需要驱动包(可通过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",13} };
            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;

    }
时间: 2024-10-10 20:29:38

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

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

一.传统DOM创建XML方法 private static void CreateXmlDocWithDom() { XmlDocument doc =new XmlDocument(); XmlElement inventory = doc.CreateElement("Inventory"); XmlElement car = doc.CreateElement("Car"); car.SetAttribute("ID", "100

Asp.Net Mvc+MongoDB简单增删查改

                                   Asp.Net Mvc+MongoDB简单增删查改 概要:现在很多企业都在使用非关系型的NoSql数据库,其中MongoDB是相当热门的,最近有空就研究了一下,本文写了一套基于Asp.Net Mvc和MongoDB的简单增删查改,本文部分内容是借用其他博文,最后我会贴出出处. 正文: 在控制器的Models中新建一个UserModel模型(其中相当于另开一个类库,类似Dal层) using System; using Syst

Asp.Net+Oracle+EasyUI简单增删查改

Asp.Net+Oracle+EasyUI简单增删查改 概要:网上有很多关于EasyUI前端框架的资料,本人在学习的基础上,基于自己之前搭建的框架(Oracle+Ado.Net),配合EasyUI实现一套简单的增删查改. 正文: 在实体层新建一个EMP.cs,继承至BaseModel 1 namespace myOracle.Model 2 { 3 public class Emp:BaseModel 4 { 5 public Emp() 6 { 7 base.PrimaryKey = "emp

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

在之前的文章中,我已经介绍了什么事MongoDB以及怎么在windows下安装MongoDB等等基本知识. 所以这篇进阶的博客就主要介绍以下如何进行数据库的基本操作 --- 增删查改. 数据库相关 显示所有数据库: show dbs 其中admin和local都是默认存在的数据库. 查看当前数据库: db 即当前默认就是test数据库,但是为什么在 show dbs 的时候没有呢?  这是因为test数据库中没有任何数据,所以不会显示,后面会介绍插入数据,插入数据后就会显示了. 创建数据库: u

Java实现对MongoDB的增删改查

一.连接数据库 连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库. 连接数据库的Java代码如下(无需密码的连接): public class MongTest { public static void main(String[] args) { try { MongoClient mongoClient = new MongoClient("localhost",27017);//连接到 mongodb 服务 MongoDatabase mongo

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

对于我们这种菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 因为MongoDB存储数据都是以文档的模式,所以在操作它的数据时,也是以文档为单位的.那么我们实现增删查改也是以文档为基础,不知道文档是什么的同学可以看看上篇介绍的基本概念. 1.插入文档 向MongoDB集合中插入文档的基本方法是insert: 单个插入 > document = {key : value} > db.collecti

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

看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongodb,突然 傻眼了,擦,竟然开启不了,仔细观察“划线区域“的信息,发现db文件夹下有一个类似的”lock file”阻止了mongodb的开启,接下来我们要做的就 是干掉它,之后,开启成功,关于mongodb的管理方式将在后续文章分享. 一: Insert操作 上一篇也说过,文档是采用“K-V”格式存储的,如果大家对JSON比较熟悉的话,我相信学mongodb是手到擒来,我

Mongodb学习总结-2(细说增删查改)

看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongodb,突然 傻眼了,擦,竟然开启不了,仔细观察“划线区域“的信息,发现db文件夹下有一个类似的”lock file”阻止了mongodb的开启,接下来我们要做的就 是干掉它,之后,开启成功,关于mongodb的管理方式将在后续文章分享. 一: Insert操作 上一篇也说过,文档是采用“K-V”格式存储的,如果大家对JSON比较熟悉的话,我相信学mongodb是手到擒来,我

nodejs连接mysql并进行简单的增删查改

最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs中的mysql模块 npm install mysql 在连接数据库之前,要先引入nodejs连接处理mysql的模块 var mysql = require('mysql'); 类似php连接mysql的方式,编写连接代码 //使用nodejs处理mysql的模块,使用创建连接方法,创建与mysq