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("id:{0} Name:{1} Age:{2}", _id, Name, Age);
}
}

  

  

 
增加引用:
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
using MongoDB.Driver.Linq;

  

//连接数据库字符串
string connectionStr = "mongodb://localhost";
MongoClient client = new MongoClient(connectionStr);
MongoServer server = client.GetServer();
//选择数据库
MongoDatabase db = server.GetDatabase("person");
//选择文档集合
MongoCollection<BsonDocument> collection = db.GetCollection("Person");

  

//插入数据*******************************************************************

//方法1:
BsonDocument person = new BsonDocument();
person.Add("Name", "test");
person.Add("Age", 10);
collection.Insert(person); //方法2:
for (int i = 0; i < 100; i++)
{
var perSon = new Person()
{
Name = "test" + i,
Age = i
};
collection.Insert(perSon);
}

  

//查询数据*******************************************************************

//小于20
QueryDocument queryD1 = new QueryDocument("Age", new QueryDocument("$lt", 20)); //
foreach (var perSon in collection.Find(queryD1))
{
Console.WriteLine(perSon);
}
//等于 xq20
QueryDocument queryD2 = new QueryDocument("Name", "test20"); //
foreach (var perSon in collection.Find(queryD2))
{
Console.WriteLine(perSon);
}
//等于 xq20
var query1 = Query.And(Query.EQ("Name","test20")); //
foreach (var perSon in collection.Find(query1))
{
Console.WriteLine(perSon);
}

  

        

linq方式:

//Linq查询
var query2 = collection.AsQueryable<Person>().Where(n => n.Name.Contains("test")).Take(20).ToList();
//.Where(n => n.Name == "xixihaha").ToList();
foreach (var per in query2)
{
Console.WriteLine(per);
}

  

  

//保存数据*******************************************************************

//Save1方法
var per = collection.AsQueryable<Person>().First(n => n.Name == "xixihaha");
//修改保存数据
per.Age = 50;
collection.Save(per);
per = collection.AsQueryable<Person>().First(n => n.Name == "xixihaha");
Console.WriteLine(per);
//Save2方法
var query = Query.And(Query.EQ("Name", "test5"));
var document = collection.FindOne(query);
if (document != null)
{
document["Age"] = 34;
collection.Save(document);
}
var per = collection.AsQueryable<Person>().First(n => n.Name == "test5");
Console.WriteLine(per);
//Update方法
var query = Query.And(Query.EQ("Name", "test5"));
var update = Update.Set("Age", 45);
collection.Update(query, update);
var per = collection.AsQueryable<Person>().First(n => n.Name == "test5");
Console.WriteLine(per);

  

  

////删除数据*******************************************************************

//删除指定文档
var query = Query.And(Query.EQ("Name", "test5"));

  

//删除所有文档
collection.RemoveAll();

  

源码地址:链接:http://pan.baidu.com/s/1b2OGGY 密码:cjp4

引用文档:http://www.cnblogs.com/wilber2013/p/4175825.html

MongoDb C# 驱动操作示例的更多相关文章

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

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

  2. MongoDB学习比较-07 C#驱动操作MongoDB

    下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/rele ...

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

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

  4. [转]MongoDB学习 C#驱动操作MongoDB

    下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/rele ...

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

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

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

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

  7. MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb

    MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...

  8. 快速掌握mongoDB(五)——通过mongofiles和C#驱动操作GridFS

    1 GridFS简介 当前Bson能存储的最大尺寸是16M,我们想把大于16M的文件存入mongoDB中怎么办呢?mongoDB提供的GridFS就是专门做这个的.使用GridFS存储大文件时,文件被 ...

  9. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

随机推荐

  1. 脚手架创建一个React项目

    一.安装 1.安装node.js 官网地址 https://nodejs.org/en/ 进入后点击下载,官方网站会根据你的系统类型推荐最适合你安装的版本.(如果已经安装了node.js跳过此步)如下 ...

  2. springmvc的第一个程序

    文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下. web.xml配置: <?xml version="1.0" encoding=" ...

  3. python元组的相对不可变性

    元组与多数python集合(列表.字典.集,等等)一样,保存的是对象的引用.如果引用的元素是可变的,即便元组本身不可变,但是元素依然可变.也就是说元组的不可变性其实是指tuple数据结构的物理内容(即 ...

  4. spring boot自动配置实现

    自从用了spring boot,都忘记spring mvc中的xml配置是个什么东西了,再也回不去.为啥spring boot这么好用呢, 约定大于配置的设计初衷, 让我们只知道维护好applicat ...

  5. 如何用纯 CSS 创作一个极品飞车 loader

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MBbEMo 可交互视频 ...

  6. DeepFaceLab: SSE,AVX, OpenCL 等版本说明!

    Deep Fake Lab早期只有两个版本,一个是专门正对NVIDIA显卡的CUDA9的版本,另一个是支持CPU的版本. 三月初该项目作者对tenserFlow,Cuda的版本进行了升级,预编译的软件 ...

  7. 【netbeans】netbeans utf-8编码

    首先,在你的netbeans的安装文件夹里面找到etc这个文件夹,打开,在里面找到netbeans.conf这个文件,打开,找到这一句netbeans_default_options="-J ...

  8. Python学习笔记:字符串

    字符串 字符串定义:字符串可以使用一对单引号.双引号或三引号来定义,即便是单个字符也会当做字符串来处理(Python中没有字符类型,单个字符也就是只有一个字符的字符串而已). 原始字符串:字符串中反斜 ...

  9. Mysql数据库查询语法详解

    数据库的完整查询语法 在平常的工作中经常需要与数据库打交道 , 虽然大多时间都是简单的查询抑或使用框架封装好的ORM的查询方法 , 但是还是要对数据库的完整查询语法做一个加深理解 数据库完整查询语法框 ...

  10. LeetCode(201) Bitwise AND of Numbers Range

    题目 Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numb ...