在c#中使用mongo-csharp-driver操作mongodb
1)下载安装
下载地址:http://github.com/mongodb/mongo-csharp-driver/downloads
编译之后得到两个dll
MongoDB.Driver.dll:顾名思义,驱动程序
MongoDB.Bson.dll:序列化、Json相关
引用这两个dll。
2)连接数据库:
在连接数据库之前请先确认您的MongoDB已经开启了。
//数据库连接字符串
const string strconn = "mongodb://127.0.0.1:27017";
//数据库名称
const string dbName = "testdb";
//创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
//获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
3)插入数据:
好了数据打开了,现在得添加数据了,我们要添加一条User“记录”到 Users集合中。
在MongoDB中没有表的概念,所以在插入数据之前不需要创建表。
但我们得定义好要插入的数据的模型Users
Users.cs:
public class Users
{
public ObjectId _id;//BsonType.ObjectId 这个对应了 MongoDB.Bson.ObjectId
public string Name { get; set; }
public string Sex { set; get; }
}
_id 属性必须要有,否则在更新数据时会报错:“Element '_id' does not match any field or property of class”。
添加数据的代码:
public void Insert()
{
//创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
//获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
Users users = new Users();
users.Name = "test";
users.Sex = "man";
//获得Users集合,如果数据库中没有,先新建一个
MongoCollection col = db.GetCollection("Users");
//执行插入操作
col.Insert<Users>(users);
}
4)更新数据
public void Update()
{
//创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
//获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
//获取Users集合
MongoCollection col = db.GetCollection("Users");
//定义获取“Name”值为“test”的查询条件
var query = new QueryDocument { { "Name", "test" } };
//定义更新文档
var update = new UpdateDocument { { "$set", new QueryDocument { { "Sex", "wowen" } } } };
//执行更新操作
col.Update(query, update);
}
5)删除数据
public void Delete()
{
//创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
//获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
//获取Users集合
MongoCollection col = db.GetCollection("Users");
//定义获取“Name”值为“test”的查询条件
var query = new QueryDocument { { "Name", "test" } };
//执行删除操作
col.Remove(query);
}
6)查询数据
public void Query()
{
//创建数据库链接
MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
//获得数据库test
MongoDatabase db = server.GetDatabase(dbName);
//获取Users集合
MongoCollection col = db.GetCollection("Users");
//定义获取“Name”值为“test”的查询条件
var query = new QueryDocument { { "Name", "test" } };
//查询全部集合里的数据
var result1 = col.FindAllAs<Users>();
//查询指定查询条件的第一条数据,查询条件可缺省。
var result2 = col.FindOneAs<Users>();
//查询指定查询条件的全部数据
var result3 = col.FindAs<Users>(query);
}
在c#中使用mongo-csharp-driver操作mongodb的更多相关文章
- 在Thinkphp3.1中使用Mongo的具体操作
最近研究Mongo项目都是用TP开发的,先介绍下Mongo在TP3.1中的用法 首先要确保你的PHP环境中已经安装好Mongo扩展,在实际项目中大多数都是Mysql数据库为主的,那么如何添加一个Mon ...
- MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb
MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...
- c#操作MangoDB 之MangoDB CSharp Driver驱动详解
序言 MangoDB CSharp Driver是c#操作mongodb的官方驱动. 官方Api文档:http://api.mongodb.org/csharp/2.2/html/R_Project_ ...
- [转载]在C#中使用官方驱动操作MongoDB
在C#中使用官方驱动操作MongoDB 8.1)下载安装 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类 ...
- C#中使用官方驱动操作MongoDB
想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类似.这里我们先用官方提供的mongo-csharp-dri ...
- MangoDB CSharp Driver
1.引用MongoDB for C# Driver 从网上下载C#访问MongoDB的驱动,得到两个DLL: MongoDB.Driver.dll MongoDB.Bson.dll 将它们引用到项目中 ...
- php操作mongodb中的ISODate格式日期
mongodb 中数据记录的日期格式为"dateCreated" : ISODate("2011-12-20T07:22:50.836Z")经过翻阅php官网中 ...
- 使用Mongo官方驱动操作Mongo数据库
首先到 https://github.com/mongodb/mongo-csharp-driver/downloads 下载Mongo官方驱动 下载完成后引用到项目中 public class Co ...
- C# Asp.net中简单操作MongoDB数据库(一)
需要引用MongoDB.Driver.dll.MongoDB.Driver.core.dll.MongoDB.Bson.dll三个dll. 1.数据库连接: public class MongoDb ...
- Spring Boot中快速操作Mongodb
Spring Boot中快速操作Mongodb 在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下: <dependency> ...
随机推荐
- 单元测试利器之Jtester
http://kiral.iteye.com/blog/900975 名词解释: Junit:众所周知的单元测试. 官方网址:http://junit.sourceforge.net/.Junit从4 ...
- django不要设置datetime字段auto_now=True
django model的datetime字段如果设置了auto_now=True的话,update该记录的时候即使没有更新它的时间字段,它的时间字段依然会执行一遍auto_now,时间会变成当前更新 ...
- windows查看端口占用
查看占用端口的进程ID netstat -aon | findstr "9000" 再用进程ID查看进程 tasklist | findstr "6048"
- JAXB注解【转】
http://blog.csdn.net/lw371496536/article/details/6942045 JAXB(Java API for XML Binding),提供了一个快速便捷的方式 ...
- selenium项目总结(UI自动化测试平台搭建、测试报告生成、邮件转发)
最近博主完成了一个web端UI自动化平台测试环境搭建,包括常用的操作流程组合成方法,组织测试用例,利用框架及报告文件生成,最后通过邮件添加附件的格式发送. 首先UI自动化平台的核心是selenium+ ...
- 如何在Flash中新窗口打开页面而不被拦截
Flash的wmode必须是opaque或者transparent,允许Flash访问页面脚本.另外跳转必须是点击直接触发. 代码:ExternalInterface.call("windo ...
- 读取计算机的OEM信息
只需要读取注册表里面的值即可 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation\Logo 下面有制 ...
- Oracle 查看表空间剩余与创建空间语法
select a.tablespace_name,total,free,total-free used from ( select tablespace_name,sum(bytes)/1024/10 ...
- 默菲定律 [Murphy's Law]
一.关于默菲定律(Murphy's Law) “墨菲定律”.“帕金森定律”和“彼德原理”并称为二十世纪西方文化三大发现. “墨菲定律”的原话是这样说的:If there are two or mo ...
- 【Linux】基于Bind_DLZ和MySQL数据的DNS搭建
参考:http://www.linuxfromscratch.org/blfs/view/cvs/server/bind.html 参考:http://bind-dlz.sourceforge.net ...