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 ...
随机推荐
- 【原创】Linux基础之查看linux发行版以及内核版本
redhat查看发行版 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 查看内核版本 # uname -aLinux $h ...
- Diango 框架起步
一.命令行搭建Django项目 安装django # 在指定解释器环境下安装django 1.11.9# 在真实python3环境下: pip3 install django==1.11.9# 在虚拟 ...
- 导出excel 文件
---恢复内容开始--- 安装 pip install xlwt ---恢复内容结束---
- hash与encrypt
概括来说,哈希(Hash)是将目标文本转换成具有相同长度的.不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有不同长度的.可逆的密文. 具体来说,两者有如下重要区别: ...
- Jmeter性能测试之分布式(五)
Jmeter是纯Java开发的开源性能测试工具, Java程序是很吃内存的, 有时候一台负载机给服务器的压力是不够的, 需要很多台同时负载, 这个时候就需要用到分布式了. 1. 组网图大概就是这样的 ...
- MVC中 jquery validate 不用submit方式验证表单或单个元素
<script src="/Scripts/jquery-1.4.4.js"></script> <script src="/Scripts ...
- spark MLlib collaborativeFilltering学习
package ML.collaborativeFilltering; import org.apache.spark.SparkConf; import org.apache.spark.api.j ...
- c# 向数据库插数据超过1000条
今天想着如何大批量插入数据到数据库中 最开始的想法是使用insert循环插入 但每次都要创建数据库连接 这是非常消耗时间和消耗资源的事.后在网上看到了说使用SqlBulkCopy ,就看了看文档和别 ...
- 使用Python下载文件
python -c "with open('/tmp/file.sh', 'wb') as f: import urllib2; f.write(urllib2.urlopen('http: ...
- 解决'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
懒癌晚期,直接贴图 然后就解决了!