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

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. 开源的zip_unzip库

    zip/unzip源码交叉编译 http://blog.chinaunix.net/uid-20288609-id-10016.html zlib 1.2.11 http://www.zlib.net ...

  2. YSlow安装兼容的环境版本

    YSlow:网站性能评分工具 1.安装 Firefox 282.安装 Firebug1.2.83.安装 YSlow3.1.8.1

  3. elasticsearch SpanNearQuery inOrder参数

    一直没有注意还有一个inOrder参数: public SpanNearQuery(SpanQuery[] clauses, int slop, boolean inOrder) When inOrd ...

  4. redis 数据类型的使用场景

    value为对应的数据类型. String 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String,也可以是数字. Hash 应用 ...

  5. k8s的service

    1.service简介 本节开始学习 Service.我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 c ...

  6. Deep Learning关于Vision的Reading List

    最近开始学习深度学习了,加油! 下文转载自:http://blog.sina.com.cn/s/blog_bda0d2f10101fpp4.html 主要是顺着Bengio的PAMI review的文 ...

  7. nginx部署vue工程和反向代理nodejs工程

    前端是vue,后端是nodejs 前端打包成dist目录,后端接口是localhost:4000/api server { listen 80; #listen [::]:80; server_nam ...

  8. eclipse断点调试基础

    进入debug模式: 1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ============================= 作用域 ...

  9. [thinkphp] 获取根目录绝对路径

    $root = realpath(__ROOT__);

  10. 计蒜客 30999.Sum-筛无平方因数的数 (ACM-ICPC 2018 南京赛区网络预赛 J)

    J. Sum 26.87% 1000ms 512000K   A square-free integer is an integer which is indivisible by any squar ...