C# Asp.net中简单操作MongoDB数据库(一)
需要引用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数据库(二)
C# Asp.net中简单操作MongoDB数据库(一) , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...
- Python学习笔记_03:简单操作MongoDB数据库
目录 1. 插入文档 2. 查询文档 3. 更新文档 4. 删除文档 1. 插入文档 # -*- coding: UTF-8 -*- import datetime from pymongo im ...
- C#中简单操作Mysql数据库
以C#访问MySQL数据库,执行简单的CRUD. MySql.Data.dll是C#操作MySQL的驱动文件,是C#连接MySQL必要插件,使C#语言更简洁的操作MySQL数据库.可以用NuGet命令 ...
- C#中简单操作SQLserver数据库(ADO.NET的简单应用)
本篇文章以 ADO.NET 访问SQL SERVER 数据库为例, 其中需用System.Data.SqlClient; 数据库连接字符串写法为:server=数据源(服务器名称);uid=用户名;p ...
- nodeJS中使用mongoose模块操作mongodb数据库
在实际运用中,对于数据库的操作我们不可能一直在cmd命令行中进行操作,一般情况下需要在node环境中来操作mongodb数据库,这时就需要引入mongoose模块来对数据库进行增删改查等操作. 首先, ...
- python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用
python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...
- JAVA操作MongoDB数据库
1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...
- PHP操作MongoDB 数据库
最近有个项目,需要用php操作mongoDb数据,整理如下 1,连接MongoDB数据库 $conn = new Mongo(); 其他链接方式 //$conn=new Mongo(); #连接本地主 ...
- mongoose之操作mongoDB数据库
mongoose是node.js操作mongoDB数据库的一种工具,借助于mongoose,我们可以便捷的完成一些数据库的基本操作,基本使用如下: 1.安装 npm install mongoose ...
随机推荐
- PHP迭代器:Iterator和IteratorAggregate
使用迭代模式遍历所有的对象的时候,都必须实现Traversable(遍历)接口.但是Traversable是一个内部的类,只有用c语言编写的类才可以实现Traversable实现.如果我们在自定义的 ...
- Linux--奇思淫才
根据进程号找到可执行的文件路径 [ec2-user@baolin ~]$ ll /proc/<pid>/exe lrwxrwxrwx 1 ec2-user ec2-user 0 May 3 ...
- CS DevExpress程序启动(主窗体初始化优化)
在进入程序主界面时,某些情况下主界面的初始化会消耗很长时间,例如一些复杂的业务系统,可能会从服务器上下载最新的数据进行展示等等,在这种情况下,我们可以采用一个进度界面展示“系统正在加载...”,等主界 ...
- Python——文件读取
我们经常需要从文件中读取数据,因此学会文件的读取很重要,下面来介绍一下文件的读取工作: 1.读取整个文件 pi_digits.text 3.1415926535 8979323846 ...
- Fiddler工具使用介绍
Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 代理就是在 ...
- centos升级python2.7到3.6之后造成yum命令报错
今天学习浏览器模拟,把云端centos上的python2.7升级到3.6,但是安装其他软件时发现报如下错误: File "/usr/bin/yum", line 30 except ...
- Fragment基础操作
Fragment和Activity类似,同样是具备UI的属性:也就是都能用于规划UI布局... Building a Dynamic UI with Fragments --> Fragment ...
- vue2.0无限滚动加载数据插件
做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
- js 快速将字符串数组 转化为 数字数组(互换)
转载于 这里 var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(String); //结果: ['1', '2', '3', '4', '5', '6' ...
- jquery常用语句
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...