本实例主要简单的查询,新增,修改和删除操作,完整代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Bson.Serialization.Attributes;
using System.Linq.Expressions;
using MongoDB.Driver.Builders;
using MongoDB.Driver.Linq;
using System.Configuration; namespace mongoDbOper
{
public class DBHelper
{
/// <summary>
/// mongodb数据库连接字符串
/// </summary>
private static string dbConnectStr = "mongodb://127.0.0.1:27017";
/// <summary>
/// 指定的数据库
/// </summary>
private static string dbName = "OTT_DB";
/// <summary>
/// 展会信息表
/// </summary>
private static string tbNameM = "Meeting";
/// <summary>
/// 行业资讯表
/// </summary>
private static string tbNameC = "Information";
/// <summary>
/// 订阅用户表
/// </summary>
private static string tbNameUser = "User";
/// <summary>
/// 已发送展会信息表
/// </summary>
private static string tbNameMCK = "MeetingCK";
/// <summary>
/// 已发送行业资讯表
/// </summary>
private static string tbNameICK = "InfoCK"; private static MongoDatabase db = null; /// <summary>
/// 用户审核通过
/// </summary>
private static string userPass = "通过";
/// <summary>
/// 用户未审核通过,待审核
/// </summary>
private static string userNoPass = "审核";
/// <summary>
/// 初始化mongodb数据库
/// </summary>
public static void InitDB()
{
var connStr = string.IsNullOrEmpty(ConfigurationManager.AppSettings["mongodbServer"]) ? dbConnectStr : ConfigurationManager.AppSettings["mongodbServer"].ToString(); userPass = string.IsNullOrEmpty(ConfigurationManager.AppSettings["pass"]) ? userPass : ConfigurationManager.AppSettings["pass"].ToString();
userNoPass = string.IsNullOrEmpty(ConfigurationManager.AppSettings["pass"]) ? userNoPass : ConfigurationManager.AppSettings["nonpass"].ToString(); //创建数据连接
//var server = MongoServer.Create(connStr);
var server = new MongoClient(connStr).GetServer();
//获取指定数据库
db = server.GetDatabase(dbName);
} #region 获取最近三个月的会议活动
/// <summary>
/// 获取最近三个月的会议活动
/// </summary>
public static void GetMeeting()
{
if (db == null)
{
InitDB();
}
string startdate = DateTime.Now.AddDays(-).ToString("yyyy-MM-dd");
string enddate = DateTime.Now.AddDays().ToString("yyyy-MM-dd"); MongoCollection<Meeting> col = db.GetCollection<Meeting>("Meeting");
var result = col.FindAll().Where(a => Convert.ToDateTime(a.startdate) > Convert.ToDateTime(startdate) &&
Convert.ToDateTime(a.enddate) <= Convert.ToDateTime(enddate)); var lst = new List<Meeting>();
foreach (Meeting info in result)
{
info.ID = info.Id.ToString();
lst.Add(info);
}
var json = lst.ToJson(); Console.WriteLine(json);
Console.Read();
}
#endregion #region 保存新订阅用户信息
/// <summary>
/// 保存新订阅用户信息
/// </summary>
/// <param name="user">要保存的用户信息实体</param>
/// <param name="tbName">表名,默认:User</param>
/// <returns>返回bool ,true保存成功;false保存失败</returns>
public static bool InsertUser(User user = null, String tbName = "User")
{
if (db == null)
{
InitDB();
}
User user1 = new User();
user1.name = "test";
user1.email = "test@ctrchina.cn";
user1.tel = "";
user1.company = "CTR";
user1.position = "总监";
user1.isPass = "通过";
MongoCollection<User> col = db.GetCollection<User>(tbName);
WriteConcernResult result = col.Insert(user1);
Console.WriteLine(result.Ok);
Console.Read();
return result.Ok;
}
#endregion #region 修改订阅用户信息
/// <summary>
/// 修改订阅用户信息
/// </summary>
/// <param name="user">订阅用户信息实体</param>
/// <param name="tbName">表名,默认是User</param>
/// <returns>返回bool ,true:修改成功;false:修改失败</returns>
public static bool UpdateUser(User user = null, String tbName = "User")
{
if (db == null)
{
InitDB();
}
if (user == null)
{
user = new User();
user.Id = new ObjectId("5965dfd22ed9257eccc36494");
user.position = "总经理111总监";
user.tel = "";
}
MongoCollection<User> col = db.GetCollection<User>(tbName);
BsonDocument userSave = BsonExtensionMethods.ToBsonDocument(user); IMongoQuery query = Query.EQ("_id", user.Id); WriteConcernResult result = col.Update(query, new UpdateDocument(userSave));
Console.WriteLine(result.Ok);
Console.Read();
return result.Ok;
}
#endregion #region 删除订阅用户信息
/// <summary>
/// 删除订阅用户信息
/// </summary>
/// <param name="id">信息ID(唯一)</param>
/// <param name="tbName">表名,默认是User</param>
/// <returns>返回bool ,true:删除成功;fals:e删除失败</returns>
public static bool DeleteUser(String id = "5965dfd22ed9257eccc36494", String tbName = "User")
{
if (db == null)
{
InitDB();
}
MongoCollection<Information> col = db.GetCollection<Information>(tbName);
IMongoQuery query = Query.EQ("_id", new ObjectId(id)); WriteConcernResult result = col.Remove(query);
Console.WriteLine(result.Ok);
Console.Read();
return result.Ok;
}
#endregion }
}

C# 操作mongodb 简单实例的更多相关文章

  1. Python 操作mongodb 简单实例

    1.建立数据库用户 要读写 mongo数据库,默认没有用户名和密码也可以对数据库进行读写操作,但是从安全的角度,最好给要操作的数据库建立用户名和密码. 打开mongo数据库服务,打开mongo.exe ...

  2. MongoDB系列一(索引及C#如何操作MongoDB)

    索引总概况 db.test.ensureIndex({"username":1})//创建索引 db.test.ensureIndex({"username": ...

  3. MongoDB(索引及C#如何操作MongoDB)(转载)

    MongoDB(索引及C如何操作MongoDB) 索引总概况 db.test.ensureIndex({"username":1})//创建索引 db.test.ensureInd ...

  4. mongodb 简单部署方案及实例

    mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb  我这里选用rehl 5.6 ...

  5. python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

    python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...

  6. Redis:安装、配置、操作和简单代码实例(C语言Client端)

    Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...

  7. .Net Core MongoDB 简单操作。

    一:MongoDB 简单操作类.这里引用了MongoDB.Driver. using MongoDB.Bson; using MongoDB.Driver; using System; using S ...

  8. C# Asp.net中简单操作MongoDB数据库(二)

    C# Asp.net中简单操作MongoDB数据库(一)    , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...

  9. C# Asp.net中简单操作MongoDB数据库(一)

    需要引用MongoDB.Driver.dll.MongoDB.Driver.core.dll.MongoDB.Bson.dll三个dll. 1.数据库连接: public class MongoDb ...

随机推荐

  1. Kuangbin 带你飞 数位DP题解

    以前一直不知道该咋搞这个比较好. 感觉推起来那个数字好麻烦.后来有一种比较好的写法就是直接的DFS写法.相应的ismax表示当前位是否有限制. 数位DP也是有一种类似模版的东西,不过需要好好理解.与其 ...

  2. 学习struts2

    有部分内容转载牛人的博客: http://blog.csdn.net/hudie1234567/article/details/6730481 http://blog.csdn.net/lishuan ...

  3. 利用Java编写简单的WebService实例-转载

    使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService.下面是一个从编写测试例子到 ...

  4. redis.clients.jedis.HostAndPort - cant resolve localhost address

    阿里云ECS部署spring-boot访问redis出现redis.clients.jedis.HostAndPort - cant resolve localhost address 摘要: 阿里云 ...

  5. iptables内网地外网之间访问

    环境:一台带外网和内网的机器,另一台只有内网,默认不能上网.两台机器都是centos系统带外网机器的外网ip为 123.221.20.11, 内网网关ip为 192.168.15.100内网机器的内网 ...

  6. PO/POJO/BO/DTO/VO的区别(转)

    PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中与i ...

  7. 通过docker info命令,可以了解很多信息

    来个输出吧. Containers: 1 Running: 1 Paused: 0 Stopped: 0 Images: 1 Server Version: 17.03.1-ce Storage Dr ...

  8. Linux命令之fdisk

    fdisk fdisk [选项] <disk>  改变分区表 fdisk [选项] –l <disk>  列出所有分区表 fdisk –s <partition(分区编号 ...

  9. 18、Flask实战第18天:Flask-session

    session的基本概念 session和cookie的作用有点类似,都是为了存储用户相关的信息.不同的是,cookie是存储在本地浏览器,session是一个思路.一个概念.一个服务器存储授权信息的 ...

  10. httpd访问网络配置httpd_can_network_connect

    检查网络访问的配置 getsebool -a | grep httpd_can_network_connect 如结果如下 httpd_can_network_connect --> off 则 ...