• MongoDB-Getting Started with the C# Driver


    简介:本文仅提供快速入门级别的使用C# Driver操作MongoDB,高手跳过

    1. Downloading the C# Driver
      1. 猛击下载
    2. 添加相关的dll引用
          MongoDB.Bson.dll
          MongoDB.Driver.dll
      
    3. 添加名称空间引用
      using MongoDB.Bson;
      using MongoDB.Driver;
    4. 获取客户端对象
      var connectionString = "mongodb://localhost";
      var client = new MongoClient(connectionString);
    5. 获取服务端对象
      var server = client.GetServer();
    6. 获取要操作的数据库
      var database = server.GetDatabase("test"); // "test" is the name of the database
    7. CRUD(使用自定义的类)
      1. 自定义实体
        public class Entity
        {
            public ObjectId Id { get; set; }
        
            public string Name { get; set; }
        }
      2. 获取要操作的表
        // "entities" is the name of the collection
        var collection = database.GetCollection<Entity>("entities");
      3. 新增一条记录
        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)
      4. 查询一条记录
        var query = Query<Entity>.EQ(e => e.Id, id);
        var entity = collection.FindOne(query);
      5. 保存一条记录(发送整个实体到数据库)
        entity.Name = "Dick";
        collection.Save(entity);
      6. 修改一条记录(仅发送修改的部分到数据库,这一点是和保存还是有区别的,根据场景来自行判断需要用哪一种来更新数据
        var query = Query<Entity>.EQ(e => e.Id, id);
        var update = Update<Entity>.Set(e => e.Name, "Harry"); // update modifiers
        collection.Update(query, update);
      7. 删除一条记录
        var query = Query<Entity>.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<Entity>("entities");
    22             var entity = new Entity { Name = "Tom" };
    23             var i = collection.Insert(entity);
    24             var id = entity.Id;
    25 
    26             var query = Query<Entity>.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<Entity>.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 }
  • 相关阅读:
    $$Ctrl+shift+M分数罗马字母小写
    设置字体大小加粗斜体下划线
    无序列表有序列表
    数学公式插入
    文本居中、代码插入、图片插入
    VM 使用问题 | 安装失败->>注册表
    VM小技巧——虚拟机解决vm窗口太小的办法
    OneNet平台实践
    linux 打包 | autoconf 使用方法
    C 总结 | 复习注意点
  • 原文地址:https://www.cnblogs.com/LittleFeiHu/p/4006763.html
Copyright © 2020-2023  润新知