博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB-Getting Started with the C# Driver
阅读量:5104 次
发布时间:2019-06-13

本文共 2779 字,大约阅读时间需要 9 分钟。

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

  1. Downloading the C# Driver
  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 collectionvar collection = database.GetCollection
      ("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
      .EQ(e => e.Id, id);var entity = collection.FindOne(query);
    5. 保存一条记录(发送整个实体到数据库)
      entity.Name = "Dick";collection.Save(entity);
    6. 修改一条记录(仅发送修改的部分到数据库,这一点是和保存还是有区别的,根据场景来自行判断需要用哪一种来更新数据
      var query = Query
      .EQ(e => e.Id, id);var update = Update
      .Set(e => e.Name, "Harry"); // update modifierscollection.Update(query, update);
    7. 删除一条记录
      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 MongoDBTest12 {13     class Program14     {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 Entity44 {45 public ObjectId Id;46 public string Name { get; set; }47 }48 49 }

 

转载于:https://www.cnblogs.com/LittleFeiHu/p/4006763.html

你可能感兴趣的文章
Mysql 索引优化 - 1
查看>>
LeetCode(3) || Median of Two Sorted Arrays
查看>>
大话文本检测经典模型:EAST
查看>>
linux基础命令-chgrp/chown/chomd
查看>>
待整理
查看>>
一次动态sql查询订单数据的设计
查看>>
C# 类(10) 抽象类.
查看>>
Nginx+Keepalived 实现双击热备及负载均衡
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
jvm参数
查看>>
Something-Summary
查看>>
Spring学习笔记
查看>>
6个有用的MySQL语句
查看>>
我对前端MVC的理解
查看>>
Silverlight实用窍门系列:19.Silverlight调用webservice上传多个文件【附带源码实例】...
查看>>
2016.3.31考试心得
查看>>
mmap和MappedByteBuffer
查看>>
Linux的基本操作
查看>>
转-求解最大连续子数组的算法
查看>>
算法为啥子那么难【转】
查看>>