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

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. locust===官方说明文档,关于tasks

    安装: >>> pip  install locust locust在官方simple_code中如下: from locust import HttpLocust, TaskSet ...

  2. Android的简单应用(三)——为你的程序添加监听器

    平时在写程序时经常会遇到监听器,比如按钮的click监听器,按键监听器等等.而android中的监听器和java中的回调函数是同一个概念,都是在底层代码中定义一个接口来调用高层的代码.那么什么是回调函 ...

  3. ECharts问题--柱状图和折线图中xAxis.data为空时报错问题解决

    1. 我们在日常的开发中使用Echarts时,不像在学习的过程中是自己在option中的配置项填写图表需要的参数,而是通过ajax请求后台,获取数据后,使用javascript来动态的修改数据,但是有 ...

  4. 【互动问答分享】第11期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    Q1:docker成熟度如何? Docker是2013年和2014年最火爆的云计算开源项目: Baidu公司是中国使用Docker最为深入和最大规模的公司,线上稳定运行数十万个Docker容器,目前已 ...

  5. dokcer常用命令

    文章来自于 CSDN docker常用命令详解 docker常用命令分类 常用命令 docker run -d --name express-docker-demo --restart=always ...

  6. centos 命令行修改主机名

    # vi /etc/sysconfig/network # 把localhost.localdomain 修改为 localhost.com # 保存退出 # vi /etc/hosts # 把loc ...

  7. Wannafly挑战赛17 A 走格子【矩阵行走/模拟】

    [链接]:A [分析]:可以设置方向数组和标记数组.当不合法(越界/访问过)就转向,转向可以用now=(now+1)%4 [代码]: #include <bits/stdc++.h> #d ...

  8. 手动安装python3和xgboost

    yum install openssl-devel -y .tar.xz cd Python- ./configure --prefix=/usr/local/python3.5.4 make mak ...

  9. wildfly 10的安装部署

    http://www.xue163.com/2203/1/22037981_2.html WildFly 曾用名:JBoss Application Server ,红帽公司宣布 JBoss AS 的 ...

  10. luogu P1215 [USACO1.4]母亲的牛奶 Mother's Milk

    题目描述 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满牛奶的.有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了 ...