设为首页 收藏本站
查看: 1638|回复: 0

[经验分享] 在c#中使用mongo-csharp-driver操作mongodb

[复制链接]

尚未签到

发表于 2015-7-7 11:02:49 | 显示全部楼层 |阅读模式
  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);   
}
  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();   
    //查询指定查询条件的第一条数据,查询条件可缺省。   
var result2 = col.FindOneAs();   
    //查询指定查询条件的全部数据   
var result3 = col.FindAs(query);   
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-84066-1-1.html 上篇帖子: java学习(三) java 中 mongodb的各种操作 下篇帖子: [Database] MongoDB (2) 高级查询条件操作符
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表