运用到的MongoDB支持的C#驱动,当前版本为1.6.0

下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads

1,连接数据库

        /// <summary>
/// 数据库连接
/// </summary>
private const string conn = "mongodb://127.0.0.1:27017";
/// <summary>
/// 指定的数据库
/// </summary>
private const string dbName = "mongodb_name";
/// <summary>
/// 指定的表
/// </summary>
private const string tbName = "table_text";
     //创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection col = db.GetCollection(tbName);

2、插入数据

因为MongoDB没有表的概念,所以自插入数据之前定义好自己的数据模型

User.cs

下面是添加数据的代码

        /// <summary>
/// 添加
/// </summary>
/// <param name="text">内容</param>
/// <param name="articleId">文章ID</param>
/// <param name="channelId">频道ID</param>
/// <returns></returns>
public static void Add(User t)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection col = db.GetCollection(tbName);
//插入
col.Insert(t); }

3、删除操作

        /// <summary>
/// 根据ObjectID 删除
/// </summary>
/// <param name="objId"></param>
public static void Delete(string objId)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName); IMongoQuery query = Query.EQ("_id", new ObjectId(objId)); col.Remove(query);
}

4、修改

        /// <summary>
/// 根据ObjectID 修改
/// </summary>
public static void Update(User t)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName); BsonDocument bd = BsonExtensionMethods.ToBsonDocument(t); IMongoQuery query = Query.EQ("_id", t.Id); col.Update(query, new UpdateDocument(bd)); }

5、条件查询(简单)

        /// <summary>
/// 根据ObjectID 查询
/// </summary>
public static TuCao SelectOne(string objId)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName);
//条件查询
return col.FindOne(Query.EQ("_id", new ObjectId(objId)));
}

6、查询全部

        /// <summary>
/// 查询所有
/// </summary>
public static void SelectAll()
{
List<User> list = new List<User>(); //创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName);
//查询全部
list.AddRange(col.FindAll()); //--------------------------------
foreach (TuCao t in col.FindAll())
{
string id = t.Id.ToString();
string text = t.Text;
DateTime dt = t.Createdate;
}
}

C# 对MongoDB 进行增删改查的简单操作 (转)的更多相关文章

  1. C# 对MongoDB 进行增删改查的简单操作

    C# 对MongoDB 进行增删改查的简单操作   下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 1,连接数据库   /// & ...

  2. MongoDB入门 常用命令以及增删改查的简单操作

    1,运行MongoDB服务mongod --dbpath=/usr/local/developmentTool/mongo/data/db/然后启动客户端mongo2,sudo service mon ...

  3. hbase 增删改查 api 简单操作

    package com.utils; import java.io.IOException; import java.util.ArrayList; import java.util.List; im ...

  4. Java连接MongoDB进行增删改查

    1.导入必须的包: 详情看项目:http://pan.baidu.com/s/1cvDAOY 2.通过Myeclipse创建WEB项目 3. 3.bean:创建实体类 package com.bean ...

  5. MongoDB的增删改查 转

    MongoDB的增删改查 (黎明你好原创作品,转载请注明) MongoDB中数据的基本单元叫做文档,采用json的键-值的方式.多个键及其关联的值有序的存放在一起变是文档.类似于编程语言中的键值关系. ...

  6. Java实现mongodb原生增删改查语句

    Java实现mongodb原生增删改查语句 2018-03-16 自动化测试时,需校验数据库数据,为了快速自动化,在代码中用原生增删改查语句操作mongodb 结构 代码 0 pom.xml < ...

  7. Scala对MongoDB的增删改查操作

    =========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! ==================== ...

  8. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  9. python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)

    一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...

随机推荐

  1. OpneCV 二值图像区域处理

    //--------------------------------------[程序说明]------------------------------------------- // 在图像处理中总 ...

  2. python 暴力破解密码脚本

    python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...

  3. 浅析KMP算法

    浅析KMP算法 KMP算法是一种线性字符串的匹配算法,将主串S与模式串T匹配. 首先朴素算法大家都会,就是直接从S的每一个位置开始,枚举比较,时间效率为O(nm),现在要想到一种化简的方式,使得时间复 ...

  4. IE6 IE7 IE8(Q) 负边距 (margin) 导致元素溢出 hasLayout 容器时显示异常

    标准参考 根据W3C CSS2.1规范第8.3节中的描述,边距属性设置了一个框的边距区的宽度.'margin' 缩写属性设置所有四边的边距,而其它的边距属性( 'margin-top' ,'margi ...

  5. jqury.jqzoom插件--放大镜

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. 5.5.8 XPath定位

    1.什么是XPath XPath定位方式是自动化测试定位技术中的必杀技,几乎可以解决所有的定位难题.它是XML Path语言的缩写,主要用于在XML 文档中选择文档中的节点.基于XML树状文档结构,X ...

  7. robot API笔记2

    robot.conf 设计方案 实现设置测试执行和输出处理. 这个方案实现了 RobotSettings 和 RebotSettings 内部使用的类 该框架. 不应该有这些类需要使用外部.这个包可以 ...

  8. win8 卸载IIS

    C:\Windows\System32\inetsrv C:\Windows\iis7.log C:\inetpub

  9. hdu 4405Aeroplane chess(概率DP)

    Aeroplane chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. MyEclipse自动补全与快捷键设置

    一般默认情况下,Eclipse ,MyEclipse的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要 ...