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

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. Opencv 学习笔记之——鼠标,进度条操作

    Opencv中提供一个鼠标调用的函数,SetMouseCallback()函数,它配合一个回调函数来实现鼠标操作的功能.   首先看一下SetMouseCallback的函数原型: c++: void ...

  2. MYSQL学习心得 优化

    这一篇主要介绍MYSQL的优化,优化MYSQL数据库是DBA和开发人员的必备技能 MYSQL优化一方面是找出系统瓶颈,提高MYSQL数据库整体性能:另一方面需要合理的结构设计和参数调整,以提高 用户操 ...

  3. Linux调试介绍

    1. 介绍 本文介绍了调试的一些常用函数和工具 2. 函数 用户态函数: backtrace()/backtrace_symbols() 内核态函数: dump_stack() 3. 工具 工具: g ...

  4. Oracle exp

    --导出表exp userid=hr/oracle123 tables=employees direct=y file=/u01/employees.dmp log=/u01/employees.lo ...

  5. 生产环境安装centos时的磁盘规划

    一般来说,分区要按照公司领导的要求来执行.但是如果没有要求,一般按照下面的方法进行磁盘规划. /boot分区200M: swap分区分内存的2倍.如果内存大于等于8G,那么swap分8G即可: /分区 ...

  6. Nodejs解决所有跨域请求

    Nodejs解决所有跨域请求 app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); ...

  7. Hydra--密码破解的神器

    原来不止burpsuit.sqlmap是神器,还有Hydra. 虽久闻大名,却未曾使用,今天偶然用到,发现支持的服务那真是多,ftp.ssh.smtp.imap.http...,而且支持ssl 可以想 ...

  8. 【转】requests、BeautifulSoup使用总结

    转自,https://www.cnblogs.com/wupeiqi/articles/6283017.html  ---- Python标准库中提供了:urllib.urllib2.httplib等 ...

  9. python formatters 与字符串 小结 (python 2)

    最近学习python 2 ,觉得有必要小结一下关于字符串处理中的formatters, 转载请声明本文的引用出处:仰望大牛的小清新 0.%进行变量取值使用的时机 在python中,如果我们只是需要在字 ...

  10. 暴力 【p4092】[HEOI2016/TJOI2016]树

    Description 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下两种操作: 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其 ...