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

[经验分享] MongoDB-Getting Started with the C# Driver

[复制链接]

尚未签到

发表于 2015-7-8 10:25:52 | 显示全部楼层 |阅读模式
  简介:本文仅提供快速入门级别的使用C# Driver操作MongoDB,高手跳过


  • Downloading the C# Driver

    • 猛击下载

  • 添加相关的dll引用


        MongoDB.Bson.dll
    MongoDB.Driver.dll
  • 添加名称空间引用


    using MongoDB.Bson;
    using MongoDB.Driver;
  • 获取客户端对象


    var connectionString = "mongodb://localhost";
    var client = new MongoClient(connectionString);
  • 获取服务端对象


    var server = client.GetServer();
  • 获取要操作的数据库


    var database = server.GetDatabase("test"); // "test" is the name of the database
  • CRUD(使用自定义的类)

    • 自定义实体


      public class Entity
      {
      public ObjectId Id { get; set; }
      public string Name { get; set; }
      }

    • 获取要操作的表


      // "entities" is the name of the collection
      var collection = database.GetCollection("entities");
    • 新增一条记录


      var entity = new Entity { Name = "Tom" };
      collection.Insert(entity);
      var id = entity.Id; // Insert will set the Id if necessary (as it was in this example)
    • 查询一条记录


      var query = Query.EQ(e => e.Id, id);
      var entity = collection.FindOne(query);
    • 保存一条记录(发送整个实体到数据库)


      entity.Name = "Dick";
      collection.Save(entity);
    • 修改一条记录(仅发送修改的部分到数据库,这一点是和保存还是有区别的,根据场景来自行判断需要用哪一种来更新数据)


      var query = Query.EQ(e => e.Id, id);
      var update = Update.Set(e => e.Name, "Harry"); // update modifiers
      collection.Update(query, update);
    • 删除一条记录


      var query = Query.EQ(e => e.Id, id);
      collection.Remove(query);
        


  完整演示代码:



1 using MongoDB.Bson;
2 using MongoDB.Driver;
3 using MongoDB.Driver.Builders;
4 using System;
5 using System.Collections.Generic;
6 using System.Linq;
7 using System.Linq.Expressions;
8 using System.Text;
9 using System.Threading.Tasks;
10
11 namespace MongoDBTest
12 {
13     class Program
14     {
15         static void Main(string[] args)
16         {
17             var connectionString = "mongodb://localhost:27017";
18             var client = new MongoClient(connectionString);
19             var server = client.GetServer();
20             var database = server.GetDatabase("test");
21             var collection = database.GetCollection("entities");
22             var entity = new Entity { Name = "Tom" };
23             var i = collection.Insert(entity);
24             var id = entity.Id;
25
26             var query = Query.EQ(e => e.Id, id);
27             entity = collection.FindOne(query);
28             entity.Name = "Dick";
29             var s = collection.Save(entity);
30
31             var update = Update.Set(e => e.Name, "Harry");
32             collection.Update(query, update);
33
34
35             collection.Remove(query);
36
37             Console.ReadKey();
38
39         }
40
41
42     }
43     public class Entity
44     {
45         public ObjectId Id;
46         public string Name { get; set; }
47     }
48
49 }
  

运维网声明 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-84418-1-1.html 上篇帖子: 使用MongoDB的开源项目 下篇帖子: MongoDB Query 的几个方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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