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",} };
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的简单增删查改的更多相关文章
- Linq实现对XML的简单增删查改
一.传统DOM创建XML方法 private static void CreateXmlDocWithDom() { XmlDocument doc =new XmlDocument(); XmlEl ...
- MongoDB数据库(二):增删查改
MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...
- mybatis、spring、mysql、maven实现简单增删查改
之前写过的mybatis博客作为学习mybatis.spring还是不太合适. 现在找到一个不错的例子,首先将这个完整的mybatis增删查改例子在本地上实现出来,然后再进行学习. 项目结构与运行结果 ...
- MongoDB数据库进阶 --- 增删查改...
注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 在之前的文章中,我已经介绍了什么事MongoDB以及怎么在windows下安装MongoDB等等基本知识. ...
- Javaweb实现对mongodb的增删改查(附带源代码)
运行截图: 删除后的信息 项目源代码:https://www.cnblogs.com/post/readauth?url=/zyt-bg/p/9807396.html
- Elasticsearch8.1-ElasticsearchClient-Java客户端简单增删查改-随笔
环境准备 Springboot 基本环境 自行前往https://start.spring.io/ 构建一个即可 Elasticsearch服务端 简单说下windows版本的安装 https:// ...
- Node.js+Navicat for MySQL实现的简单增删查改
前提准备: 电脑上必须装有服务器环境,Navicat for MySQL(我用的是这款MySQL,可随意),Node环境 效果如图所示: 源码地址: GitHub:https://github.com ...
- 8天学通MongoDB——第二天 细说增删查改
原文地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/19/2357846.html 看过上一篇,相信大家都会知道如何开启mongodb了 ...
- MongoDB入门学习(三):MongoDB的增删查改
对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 由于M ...
随机推荐
- UML学习(一)类图和对象图
对象是一个概念,一种抽象或者事物.对象能够是具有现实意义的事物,也能够是抽象的一个概念.比方,一家公司或者一个进程. 类是一组对象的集合或者抽象的概念.类具有同样的属性和方法. 介绍完基本对象和类的基 ...
- CF(427D-Match & Catch)后缀数组应用
题意:给两个字符串,求一个最短的子串.使得这个子串在两个字符串中出现的次数都等于1.出现的定义为:能够重叠的出现. 解法:后缀数组的应用.从小枚举长度.假设一个长度len合法的话:则一定存在这个样的s ...
- T4模板合并js
使用T4模板合并js文件 不知道该怎么表达,或许直接贴图贴代码更好 前因:在第一个使用angularjs的项目中我将所有的controller写到一个文件里面,深知维护起来那滋味,所以再次使用angu ...
- centos 彻底删除nodejs默认的安装文件
1> yum remove nodejs npm -y 2> cd /usr/local/lib 移除所有 node 和 node_modules目录 cd /usr/local/in ...
- 大数据的胖哥的方式(9)- 金融业数据仓库的逻辑模型FS-LDM
介绍: 大数据是不是海市蜃楼,来自小橡子只是意淫奥克斯,大数据的发展,而且要从头开始,基于大数据建设国家.项目-level数据中心行业将越来越多,大数据仅供技术,而非溶液,临数据组织模式,数据逻辑模式 ...
- POJ 2828 Buy Tickets(排队问题,线段树应用)
POJ 2828 Buy Tickets(排队问题,线段树应用) ACM 题目地址:POJ 2828 Buy Tickets 题意: 排队买票时候插队. 给出一些数对,分别代表某个人的想要插入的位 ...
- Cocos2d-x 3.x plist+png 做动画
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- hdu 3572 Task Schedule (dinic算法)
pid=3572">Task Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- SQL Server 内存泄露(memory leak)——游标导致的内存问题
原文:SQL Server 内存泄露(memory leak)--游标导致的内存问题 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql ...
- Think in Java(一):Java基础
一. OOP的特点 (1) 万物皆为对象; (2) 程序是对象的集合,他们通过发送信息来告诉彼此所要做的; (3) 每一个对象都有自己的由其它对象所构成的存储; (4) 每一个对象都拥有它的类型; ( ...