C# 操作MongoDB
2019-05-10 16:09
1401 查看
1 安装MongoDB.Driver
2 建立数据库连接
#mongodb://127.0.0.1:27017 MongoClient client = new MongoClient(“连接字符串”);
3 获取数据库
var database = client.GetDatabase("数据库");
4 获取数据集 Collection
#如果数据是预先定义好的可以在<输入数据的类型> ,如果是没有定义好的,可以使用BsonDocument类型,BsonDocument表示没有预定于的模式。 var collection = database.GetCollection<BsonDocument>(“集合”);
5 插入数据
#InsertOne(同步插入): collection.InsertOne(document); #InsertOneAsync(异步插入): await collection.InsertOneAsync(document); #如果想要插入多个数据,可以使用 InsertMany 或 InsertManyAsync 方法。
6 查询数据
#查找集合中的第一条数据 var document = collection.Find(new BsonDocument()).FirstOrDefault(); or var filter = Builders<‘实体‘>.Filter.Empty; var document = collection.Find<‘实体’>(filter).FirstOrDefault(); #查询数数据集中的所有数据 var documents = collection.Find(new BsonDocument()).ToList(); or var filter = Builders<‘实体‘>.Filter.Empty; var document = collection.Find<‘实体’>(filter).ToList(); #用过滤器筛选获取单个文档 var filterBuilder = Builders<实体>.Filter;
7 更新文档
#. Update.Set() 配合过滤器修改 var filter = Builders<MyData>.Filter.Where(s => s.Name == "AESCR") & Builders<MyData>.Filter.Where(d => d.BooksArray.Any(x=>x.XXBooks.Any(y=>y.bookname=="netcore"))); var update = Builders<MyData>.Update.Set(d => d.BooksArray[0].XXBooks[0].bookname, "NetCore"); collection.UpdateOne(filter, update);
8 查询
var result = collection.AsQueryable() .Where(s => s.Name == "AESCR") .SelectMany(s => s.BooksArray) .Where(r => r.bookname == "C#"); var page = await _sensorNodes.AsQueryable() // 查找对应的sensorNode .Where(s => s.Id == _sensorNodeId) // 选择Records内嵌数组 .SelectMany(s => s.Records) // 根据记录时间排序 .OrderBy(r => r.RecorDateTime) // 跳过 index - 1页数据 .Skip((index - 1) * size) // 选取一页数据 .Take(size) // 转换为集合 .ToListAsync();
9 删除
# Update.PullFilter()方法 删除过滤器删除元素 var update = Builders<SensorNode>.Update.PullFilter(s => s.Records, r => r.Data == 339119843.0); await _sensorNodes.UpdateOneAsync(s => s.Id == _sensorNodeId, update);
相关文章推荐
- 看门外汉如何实现:C#操作 MongoDB基本CURD的事务控制
- C# 操作mongodb 简单实例
- c# 操作 MongoDB 的 第三方类库 MongoRepository
- MongoDB+C#基本操作实现
- C# 对MongoDB 进行增删改查的简单操作 (转)
- C#操作Mongodb的心得
- C#简单操作MongoDB
- MongoDB 系列(二) C# 内嵌元素操作 聚合使用
- MongoDB入门教程之C#驱动操作实例
- MongoDB 3.4版本, C# 驱动 2.4 操作
- MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))
- 使用C#对MongoDB中的数据进行查询,改动等操作
- c#通过操作mongodb gridfs实现文件的数据库存储
- C#简单操作MongoDB的步骤全纪录
- 在C#中使用官方驱动操作MongoDB
- MongoDB系列一(索引及C#如何操作MongoDB)
- C#操作MongoDB
- C# 对MongoDB 进行增删改查的简单操作
- 在C#中使用官方驱动操作MongoDB
- c#操作mongodb