网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C#操作MongoDB

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(“集合”);

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.Filter.Where(s => s.Name == "AESCR")
                         & Builders.Filter.Where(d => d.BooksArray.Any(x=>x.XXBooks.Any(y=>y.bookname=="netcore")));
 var update = Builders.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.Update.PullFilter(s => s.Records, r => r.Data == 339119843.0);
await _sensorNodes.UpdateOneAsync(s => s.Id == _sensorNodeId, update);

文章题目:C#操作MongoDB
分享路径:http://bjjierui.cn/article/igjcpe.html

其他资讯