需要引用MongoDB.Driver.dll、MongoDB.Driver.core.dll、MongoDB.Bson.dll三个dll。

1、数据库连接:

public class MongoDb
{
//方式一
//private static readonly string connStr = "mongodb://myAdmin:123456@localhost";
//private static readonly string dbName = "myTest"; //方式二(myTestAdmin用户只可访问数据库myTest)
private static readonly string connStr = "mongodb://myTestAdmin:123456@localhost/myTest"; private static IMongoDatabase db = null; private static readonly object lockHelper = new object(); private MongoDb() { } public static IMongoDatabase GetMongoDb()
{
if (db == null)
{
lock (lockHelper)
{
if (db == null)
{
//方式一
//var client = new MongoClient(connStr);
//db = client.GetDatabase(dbName); //方式二(myTestAdmin用户只可访问数据库myTest)
var url = new MongoUrl(connStr);
MongoClientSettings mcs = MongoClientSettings.FromUrl(url);
mcs.MaxConnectionLifeTime = TimeSpan.FromMilliseconds();
var client = new MongoClient(mcs);
db = client.GetDatabase(url.DatabaseName);
}
}
}
return db;
}
}

2、插入操作:

class Program
{
static void Main(string[] args)
{
IMongoDatabase db = MongoDb.GetMongoDb(); var collection = db.GetCollection<BsonDocument>("userInfo"); //插入
var document = new BsonDocument
{
{ "name", "Liming" },
{ "age", "" },
{ "score", new BsonDocument
{
{ "yuwen", },
{ "shuxue", },
{ "yingyu", }
}}
};
collection.InsertOne(document); Console.ReadKey();
}
}

Robomongo中查看结果:

3、查询操作:

class Program
{
static void Main(string[] args)
{
IMongoDatabase db = MongoDb.GetMongoDb(); var collection = db.GetCollection<BsonDocument>("userInfo"); //查询
var document = collection.Find(new BsonDocument()).FirstOrDefault();
Console.WriteLine(document.ToString()); Console.ReadKey();
}
}

4、更新操作:

class Program
{
static void Main(string[] args)
{
IMongoDatabase db = MongoDb.GetMongoDb(); var collection = db.GetCollection<BsonDocument>("userInfo"); //更新
var filter = Builders<BsonDocument>.Filter.Eq("age", "");
var update = Builders<BsonDocument>.Update.Set("age", "");
collection.UpdateOne(filter, update); Console.ReadKey();
}
}

5、删除操作:

 class Program
{
static void Main(string[] args)
{
IMongoDatabase db = MongoDb.GetMongoDb(); var collection = db.GetCollection<BsonDocument>("userInfo"); //删除
var filter1 = Builders<BsonDocument>.Filter.Eq("age", "");
collection.DeleteOne(filter1); Console.ReadKey();
}
}

参考:http://mongodb.github.io/mongo-csharp-driver/2.5/getting_started/quick_tour/

上面操作的集合类型都是BsonDocument,

下面可以自定义实体类,mongodb可以直接返回对应自定义类的集合或者对象:

C# Asp.net中简单操作MongoDB数据库(二)

C# Asp.net中简单操作MongoDB数据库(一)的更多相关文章

  1. C# Asp.net中简单操作MongoDB数据库(二)

    C# Asp.net中简单操作MongoDB数据库(一)    , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...

  2. Python学习笔记_03:简单操作MongoDB数据库

    目录 1. 插入文档 2. 查询文档 3. 更新文档 4. 删除文档   1. 插入文档 # -*- coding: UTF-8 -*- import datetime from pymongo im ...

  3. C#中简单操作Mysql数据库

    以C#访问MySQL数据库,执行简单的CRUD. MySql.Data.dll是C#操作MySQL的驱动文件,是C#连接MySQL必要插件,使C#语言更简洁的操作MySQL数据库.可以用NuGet命令 ...

  4. C#中简单操作SQLserver数据库(ADO.NET的简单应用)

    本篇文章以 ADO.NET 访问SQL SERVER 数据库为例, 其中需用System.Data.SqlClient; 数据库连接字符串写法为:server=数据源(服务器名称);uid=用户名;p ...

  5. nodeJS中使用mongoose模块操作mongodb数据库

    在实际运用中,对于数据库的操作我们不可能一直在cmd命令行中进行操作,一般情况下需要在node环境中来操作mongodb数据库,这时就需要引入mongoose模块来对数据库进行增删改查等操作. 首先, ...

  6. python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

    python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...

  7. JAVA操作MongoDB数据库

    1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...

  8. PHP操作MongoDB 数据库

    最近有个项目,需要用php操作mongoDb数据,整理如下 1,连接MongoDB数据库 $conn = new Mongo(); 其他链接方式 //$conn=new Mongo(); #连接本地主 ...

  9. mongoose之操作mongoDB数据库

    mongoose是node.js操作mongoDB数据库的一种工具,借助于mongoose,我们可以便捷的完成一些数据库的基本操作,基本使用如下: 1.安装 npm install mongoose ...

随机推荐

  1. PHP迭代器:Iterator和IteratorAggregate

    使用迭代模式遍历所有的对象的时候,都必须实现Traversable(遍历)接口.但是Traversable是一个内部的类,只有用c语言编写的类才可以实现Traversable实现.如果我们在自定义的 ...

  2. Linux--奇思淫才

    根据进程号找到可执行的文件路径 [ec2-user@baolin ~]$ ll /proc/<pid>/exe lrwxrwxrwx 1 ec2-user ec2-user 0 May 3 ...

  3. CS DevExpress程序启动(主窗体初始化优化)

    在进入程序主界面时,某些情况下主界面的初始化会消耗很长时间,例如一些复杂的业务系统,可能会从服务器上下载最新的数据进行展示等等,在这种情况下,我们可以采用一个进度界面展示“系统正在加载...”,等主界 ...

  4. Python——文件读取

    我们经常需要从文件中读取数据,因此学会文件的读取很重要,下面来介绍一下文件的读取工作:     1.读取整个文件     pi_digits.text 3.1415926535 8979323846 ...

  5. Fiddler工具使用介绍

    Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 代理就是在 ...

  6. centos升级python2.7到3.6之后造成yum命令报错

    今天学习浏览器模拟,把云端centos上的python2.7升级到3.6,但是安装其他软件时发现报如下错误: File "/usr/bin/yum", line 30 except ...

  7. Fragment基础操作

    Fragment和Activity类似,同样是具备UI的属性:也就是都能用于规划UI布局... Building a Dynamic UI with Fragments --> Fragment ...

  8. vue2.0无限滚动加载数据插件

      做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...

  9. js 快速将字符串数组 转化为 数字数组(互换)

    转载于   这里 var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(String); //结果: ['1', '2', '3', '4', '5', '6' ...

  10. jquery常用语句

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...