使用Mongo官方驱动操作Mongo数据库

首先到 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" , 1}
                             }
                         }
                    }
                }
            };
            AggregateResult use = tt.Aggregate(unwind, group);
            var sttr = use.Response.ToList()[0].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; }
    }
}
时间: 2024-07-31 09:39:26

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

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

本篇先简单介绍一下,使用官方驱动来操作MongoDB.至于MongoDB原生的增删改查语句,且等以后再慢慢学习. 一.操作MongoDB的驱动主要有两个 1.官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads,更新的还是比较及时的,目前已经支持大部门linq语法. 2.samus驱动:https://github.com/samus/mongodb-csharp/downloads. 这个好像很久都没有更新了,估计是被抛弃了

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

MongoDB的官方驱动下载地址:https://github.com/mongodb/mongo-csharp-driver/releases 目前最新的版本是2.10,支持.NET 4.5以上.由于我现在的程序还在.NET4.0上面构建,所以这里使用1.10.1版本. 添加引用 解压下载到的驱动,然后在我们的程序中添加引用: MongoDB.Bson.dll MongoDB.Driver.dll 然后在代码中添加Using: using MongoDB.Bson; using MongoDB

C#连接操作 MySQL 数据库实例(使用官方驱动)

MySQL 以其免费和足够的性能受到很大的青睐,当然对于国内小公司,甚至是大公司如果对版权看得薄,敢冒险的话,随便装个 SqlServer.DB2.Oracle 都行.对于 SqlServer 数据库,因其与 MS 是一家,自然在 .net 类库中有内建支持,假如 MySQL 就得找第三方的驱动了 - .net 中多讲 Provider.在这里我也是作为一个预研专题,记录下 C# 连接 MySQL 的两种方法,分别使用 MySQL 官方的和 SourceForge 上一个开源的 MySQL 驱动

Golang 中操作 Mongo Update 的方法

Golang 和 MongoDB 中的 ISODate 时间交互问题 2018年02月27日 11:28:43 独一无二的小个性 阅读数:357 标签: GolangMongoDB时间交互时间转换 更多 个人分类: MongoDBGolang 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010649766/article/details/79385948 MongoDB 中有一种时间格式数据 ISODate,参考如下:  如果在 Golan

mongo实践-透过js shell操作mongo

mongo实践-通过js shell操作mongo 保存命令: j={name:"wangjingjing",age:15} db.user.save(j); 查询命令: var cursor = db.user.find(); while(cursor.hasNext())printJson(cursor.next()); printJson(cursor[4]); var arr = cursor.toArray(); db.user.find({name:"wangji

php操作mongo语法

MongoDB不支持多表查询? 1.运行mongo服务 打开cmd,输入E:进入E盘. 输入cd E:\mongdb\bin 进入该目录下. 输入mongod --dbpath E:\mongodb\data    //开启mongo服务,并将数据信息保存在data文件夹下. ? 不要关闭cmd,关闭即关闭mongo服务.? 2.操作语法 连接数据库 <?php $conn = new Mongo();//实例 $db = $conn->mongo//选择数据库 $coll=$db->u

mongo创建用户和创建数据库

================================mongo创建用户和创建数据库=========================== 1.MongoDB ps -ef | grep mongod 普通用户启动方式mongod --config /etc/mongod.conf 认证用户启动方式mongod --auth --config /etc/mongod.conf =======================================================

SpringBoot操作mongo的两种方法

一.创建项目并导入相关依赖 ? ? <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId&g

MongoDb C# 驱动操作示例

c#操作mongo数据库 驱动采用http://www.oschina.net/p/mongo-csharp-driver C#驱动的基本数据库连接,增删改查操作 //定义对象 public class Person { public ObjectId _id; public string Name { get; set; } public int Age { get; set; } public override string ToString() { return string.Format