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 ...
随机推荐
- Tomcat部署发布JSP应用程序的三种方法 (转)
Tomcat部署发布JSP应用程序的三种方法 1.直接放到Webapps目录下 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...
- 白板编程浅谈——Why, What, How(转)
原文链接:http://lucida.me/blog/whiteboard-coding-demystified/ 这篇文章节选自我正在撰写的一本关于应届生面试求职的书籍,欢迎在评论或微博(@peng ...
- 无法使用Django新建项目:'django-admin.py'不是内部或外部命令
问题: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlhdGxhbnRpcw==/font/5a6L5L2T/fontsize/400/fill/I0 ...
- Gradle 载入中 Android 下一个.so档
1.在project下新建 jni/libs 目录 . jni 是和原来的libs 同级 ,将全部的.so文件放入 新建的libs文件下 2.在build.gradle 文件里新增下面内容到a ...
- c# 16进制显示转化
非原创. 接收16进制数据,在TextBox委托显示: private void readPortandShow() { char[] HexChar = { '0', '1', '2', '3', ...
- fragment 中利用spinner实现省市联动
(1)布局文件就不在说明了,主要说代码的实现,先把代码贴上! package com.example.cl; import android.annotation.SuppressLint; impor ...
- DM8168 新三板系统启动
DM8168从补丁到系统的新董事会开始折腾了20天,最终完成,高校是累的东西,导师只焊接机10一个BGA,其他人则手. 前段时间启动操作系统时,到了Starting Matrix GUI applic ...
- poj3281-Dining ,最大流量,内置图
id=3281">点击打开链接 分析: 求最大流 建图: 拆点 牛拆成左边与食物相连的左牛 和 右边与饮料相连的右牛 1.s->食物 连边 2.食物->左牛 3.左牛-&g ...
- nodejs的安装和使用
一 下载 下载地址: https://nodejs.org/download/ 二 安装 1 win7系统直接双击,就能够执行了: 2 win8须要使用管理员权限执行,否则会报错Error 2502, ...
- SQL Server审计功能入门:SQL Server审核 (SQL Server Audit)
原文:SQL Server审计功能入门:SQL Server审核 (SQL Server Audit) 介绍 Audit是SQL Server 2008之后才有的功能,它能告诉你"谁什么时候 ...