首先到 https://github.com/mongodb/mongo-csharp-driver/downloads 下载Mongo官方驱动

下载完成后引用到项目中

    public  class ConnHelp
{
public static string ConnectionString = "mongodb://127.0.0.1:27017/qiao";
public static MongoDatabase GetDatabaseFromUrl(MongoUrl url)
{
var client = new MongoClient(url);
var server = client.GetServer();
return server.GetDatabase(url.DatabaseName);
}
public static MongoDatabase GetDatabaseFromConnectionString(string connectionstring)
{
return GetDatabaseFromUrl(new MongoUrl(connectionstring));
}
public static MongoCollection<T> GetCollection<T>(string collectionName)
{
return GetDatabaseFromConnectionString(ConnectionString).GetCollection<T>(collectionName);
}
}
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace MognoLearn
{
class Program
{
static void Main(string[] args)
{
MongoCollection<aa> tt = ConnHelp.GetCollection<aa>("aa"); //List<aa> = tt.FindAll().ToList();
var query = Query.And(Query<aa>.EQ(x => x.name,"张三"));
//{ "name" : "张三" }
List<aa> ll = tt.Find(query).ToList();//根据 query 的条件返回数据
List<aa> list = tt.FindAll().ToList();//查询 全部的数据
List<string> str = new List<string>();
str.Add("张三");
str.Add("李四");
query = Query.And(
Query<aa>.In(x=>x.name,str)
);
//{ "name" : { "$in" : ["张三", "李四"] } }
list = tt.Find(query).ToList(); //对数据库中的内嵌文档books进行聚合
//如果需要过滤掉一些数据在这个地方写过滤条件
//var match = new BsonDocument
//{
// {
// "$match",
// query.ToBsonDocument()
// }
//}; var unwind = new BsonDocument
{
{
"$unwind",
"$books"
}
};
//unwind 后面也可以写一些过滤条件,用来过滤掉一些拆分后可能不需要的数据
var group = new BsonDocument
{
{
"$group",
new BsonDocument
{
{
"_id", new BsonDocument
{
{ "books","$books.name" },
{ "money","$money" }
}
},
{
"Count", new BsonDocument
{
{ "$sum" , }
}
}
}
}
};
AggregateResult use = tt.Aggregate(unwind, group);
var sttr = use.Response.ToList()[].Value;
//{[{ "_id" : { "books" : "生物" }, "Count" : 1 }, { "_id" : { "books" : "地理" }, "Count" : 1 }, { "_id" : { "books" : "化学" }, "Count" : 4 },
         { "_id" : { "books" : "英语" }, "Count" : 2 }, { "_id" : { "books" : "语文" }, "Count" : 7 }, { "_id" : { "books" : "数学" }, "Count" : 2 }, { "_id" : { "books" : "mongo权威指南" }, "Count" : 1 }]} Console.ReadLine();
}
}
}
namespace MognoLearn
{
public class aa
{
//[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string id { get; set; }
public string name { get; set; }
public List<book> books { get; set; }
//[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
//public DateTime AddTime { get; set; }
} public class book
{
public string name { get; set; }
public double money { get; set; }
public int page { get; set; }
}
}

使用Mongo官方驱动操作Mongo数据库的更多相关文章

  1. MongoDB基础入门003--使用官方驱动操作mongo,C#

    本篇先简单介绍一下,使用官方驱动来操作MongoDB.至于MongoDB原生的增删改查语句,且等以后再慢慢学习. 一.操作MongoDB的驱动主要有两个 1.官方驱动:https://github.c ...

  2. [转载]在C#中使用官方驱动操作MongoDB

    在C#中使用官方驱动操作MongoDB 8.1)下载安装 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类 ...

  3. C#中使用官方驱动操作MongoDB

    想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类似.这里我们先用官方提供的mongo-csharp-dri ...

  4. 在C#中使用官方驱动操作MongoDB

    MongoDB的官方驱动下载地址:https://github.com/mongodb/mongo-csharp-driver/releases 目前最新的版本是2.10,支持.NET 4.5以上.由 ...

  5. mongo官方企业版安装及数据库授权使用

    通过安装.deb包的方式,系统是Ubuntu 16.04 1. Import the public key used by the package management system.(导入包管理系统 ...

  6. 使用MongoDB C#官方驱动操作MongoDB

    想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类似.这里我们先用官方提供的mongo-csharp-dri ...

  7. C#/.NET 使用官方驱动操作MongoDB(一):插入、查询

    概述 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动. C#版的驱动有很多,这里我们先用官方提供的 MongoDB.Driver(使用 Nuget 安装),当前版本为2. ...

  8. 在C#中使用官方驱动操作MongoDB ---转载

    http://blog.csdn.net/dannywj1371/article/details/7440916

  9. MongoDB学习笔记~关于官方驱动集成IQueryable之后的一些事

    回到目录 关于官方驱动集成IQueryable之后的一些事,有好事也有坏事,好事就是它会将你的linq语句非常友好的翻译成MongoDB语句,而坏事就是有一些linq语句不会被翻译,不会被翻译的代价就 ...

随机推荐

  1. WPF – pass multiple parameters to a Command

    public class SendCommand : ICommand { public void Execute(object parameter) { var labels = ((object[ ...

  2. node.js的request模块

    request模块让http请求变的更加简单.最简单的一个示例: 1: var request = require('request'); 2:  3: request('http://www.goo ...

  3. CentOS6.4 安装SSDB

    1.安装 wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zipunzip mastercd ssd ...

  4. Codeforces Round #243 (Div. 2) B. Sereja and Mirroring

    #include <iostream> #include <vector> #include <algorithm> using namespace std; in ...

  5. APP测试流程

    1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...

  6. display: block; -webkit-margin-before: 1em; -webkit-margin-after: 1em; -webkit-margin-start: 0px; -webkit-margin-end: 0px;

    总的来说:这是CSS3.0的对于文章段P容器的定义方法语句! display:block这个样式,只定义了P容器为一个块; 后面四句是CSS3中的样式定义方法: -webkit-margin-befo ...

  7. Android --自定义简单Toast

    1. 效果图

  8. db2icrt创建实例,提示主机名无效

    有这样一个现象,在DB2安装后,使用db2icrt 来创建实例时,提示主机名无效,提示如下:   [root@centos-0 instance]# ./db2icrt -u db2inst1 db2 ...

  9. gcc 编译器参数

    一.GCC编译过程 参考:http://hi.baidu.com/zengzhaonong/item/c00e079f500adccab625314f------------------------- ...

  10. Linux_sudo权限

    一.sudo权限(只能由管理员操作) 1. 操作对象 --> 命令(命令也是文件) 2. 命令存放路径/sbin与/bin --> 只由root管理员用户操作 3. 实际工作中,是不允许你 ...