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 ...
随机推荐
- PHP如何添加内置的扩展
什么时候server上PHP已安装.需要额外补充PHP如何扩展?你并不需要再次安装PHP.同phpize我们可以在原PHP安装扩展直接的基础上,. 这次编译只不过单独编译PHP的扩展库.接下来将编译好 ...
- GUI (图形界面)知识点
一:组件知识点 JTextField: 作用: 定义文本域,只支持单行输入. 使用: 定义文本域: JTextField jtf=new JTextField ...
- 非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
最新版下载地址 http://download.csdn.net/detail/simadi/8925511 如果你是一名C#开发者,那么,你则需要OzCode.它将可视化调试的概念上升到了一个新的高 ...
- c# winform 引用sqlite.dll 运行报错解决方法
错误信息 : 未能加载文件或程序集“System.Data.SQLite, Version=1.0.81.0, Culture=neutral, PublicKeyToken=db937bc2d44 ...
- 新手安装使用codeblocks
很多第一次使用codeblocks的新手总会遇到很多的问题,首先作为一名新手应该下一个完整版的codeblocks,下载地址链接: http://pan.baidu.com/s/1dDxKeD7 密码 ...
- 成不了天才,但为何也没成"人材"?(转)
长期以来,"软件业"一直被视为"智力密集"型的"朝阳"产业,大多数从业者都受过高等教育,其平均素质居于社会各行业的前列,这个产业的顶尖人物被 ...
- 使用mysqlbinlog工具的基础上及时恢复数据的位置或点
使用mysqlbinlog工具的基础上及时恢复的位置或点 MySQL备份一般采取完全备份的形式加日志备份.让我们运行一个完整备份,每天.每小时运行二进制日志备份. 这样在MySQL Server故障后 ...
- JAVA中的super和this关键字的使用
一 this关键字 this关键字可以出现在构造方法和实例方法中,不能出现在静态方法中,这是因为静态方法可以用类名来调用,这时可能还没有任何对象诞生. this主要有两种用法: 1 用在构造方法中,调 ...
- Ehcache详细解读(转)
Ehcache 是现在最流行的纯Java开源缓存框架,配置简单.结构清晰.功能强大,最初知道它,是从Hibernate的缓存开始的.网上中文的EhCache材料 以简单介绍和配置方法居多,如果你有这方 ...
- Teams(uva11609+组合)
I - Teams Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit cid=7795 ...