首页 / C# / C# 操作MongoDB
C# 操作MongoDB
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 操作MongoDB,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2082字,纯文字阅读大概需要3分钟。
内容图文
![C# 操作MongoDB](/upload/InfoBanner/zyjiaocheng/912/b06d50d5a4b34bdfa0170a0fb7ec9915.jpg)
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全部内容,希望文章能够帮你解决C# 操作MongoDB所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】