在C#中使用MongoDB

一、添加MongoDB引用

想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动。

通过网络下载或nuget安装,得到MongoDB相关的dll,添加到项目中引用。这里介绍下通过NuGet方式添加

第一步:在项目中右键,选择管理NuGet管理包

第二步:搜索MongoDB,选择MongoDB.Driver添加,我这里已经添加过了所以没有添加按钮

通过这两步,会在项目中自动添加MongoDB.Bson、MongoDB.Driver、MongoDB.Driver.Core等引用

MongoDB.Driver.dll:顾名思义,驱动程序

MongoDB.Bson.dll:序列化、Json相关

二、连接数据库

在连接数据库之前,请确保MongoDB数据库服务已经启动。

1.连接字符串(mongodb数据库默认端口为:27017)

string connStr =“mongodb://127.0.0.1:27017”;

2.数据库名称

string dbname="MongoDBDemo";

3.创建连接

var client = new MongoDB.Driver.MongoClient(connStr);

4.获取数据库

IMongoDatabase db = client.GetDatabase(dbname);

三、插入数据

在MongoDB中没有表的概念,所以在插入数据之前不需要创建表。

但我们需要定义好要插入的数据的实体模型,MongoDB会自动根据实体生成表。

1.定义MongoBaseEntity接口

public interface MongoBaseEntity
{
ObjectId Id { get; set; }
string Creator { get; set; }
string CreateDate { get; set; }
string LastEditer { get; set; }
string LastEditDate { get; set; }
string SystemName { get; }
string EX { get; set; }
string IP { get; }
}

2.定义User类,继承MongoBaseEntity接口

public class User : MongoBaseEntity
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public string Address { get; set; }
public string Age { get; set; }
public string Creator { get; set; }
public string CreateDate { get; set; }
public string LastEditer { get; set; }
public string LastEditDate { get; set; }
public string SystemName
{
get
{
return "测试";
}
}
public string IP
{
get
{
return GetIp();
}
}
public string EX { get; set; }
private string GetIp()
{
if (HttpContext.Current.Request.ServerVariables.Get("Remote_Addr") == null)
return "";
var IP = HttpContext.Current.Request.ServerVariables.Get("Remote_Addr").ToString();
return IP;
}
}

注意:Id 必须要有,且为ObjectId 类型,否则在更新数据时会报错:“Element '_id' does not match any field or property of class”。

3.添加操作

public void Add()
{

string connStr =“mongodb://127.0.0.1:27017”;

string dbname="MongoDBDemo";

var client = new MongoDB.Driver.MongoClient(connStr);

IMongoDatabase db = client.GetDatabase(dbname);

MongoCollection collection= db.GetCollection("User");

User MongodbLog = new User();

MongodbLog.Id=ObjectId.GenerateNewId();
MongodbLog.Name = "测试信息name";
MongodbLog.EX = "错误信息";
MongodbLog.Sex = “男”;
MongodbLog.Address = “北京市”;
MongodbLog.Age = “228”;
MongodbLog.Creator = “liusqd”;

MongodbLog.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
MongodbLog.LastEditDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
collection.InsertOneAsync(MongodbLog);
}

4.查看结果

四、MongoDB工具下载链接

https://robomongo.org/downloa

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
C# 使用 MongoDB 进行查询操作,需要使用 MongoDBC# 驱动程序,该驱动程序提供了一组 API 用于实现查询操作。下面我们来分别介绍这些查询操作: 1. 等于查询 等于查询是最常用的查询操作,它用于查询指定字段等于指定值的文档。在 C# 实现等于查询,可以使用下面的代码: ```c# var filter = Builders<BsonDocument>.Filter.Eq("field", "value"); var result = collection.Find(filter).ToList(); ``` 其,`field` 是要查询的字段名,`value` 是要查询的值。`Builders<BsonDocument>.Filter.Eq` 方法用于创建等于查询的过滤器,`collection.Find` 方法用于执行查询操作。 2. 大于查询和小于查询 大于查询和小于查询分别用于查询指定字段大于或小于指定值的文档。在 C# 实现大于查询和小于查询,可以使用下面的代码: ```c# // 大于查询 var filter = Builders<BsonDocument>.Filter.Gt("field", "value"); var result = collection.Find(filter).ToList(); // 小于查询 var filter = Builders<BsonDocument>.Filter.Lt("field", "value"); var result = collection.Find(filter).ToList(); ``` 其,`Builders<BsonDocument>.Filter.Gt` 方法用于创建大于查询的过滤器,`Builders<BsonDocument>.Filter.Lt` 方法用于创建小于查询的过滤器。 3. 大于等于查询和小于等于查询 大于等于查询和小于等于查询分别用于查询指定字段大于等于或小于等于指定值的文档。在 C# 实现大于等于查询和小于等于查询,可以使用下面的代码: ```c# // 大于等于查询 var filter = Builders<BsonDocument>.Filter.Gte("field", "value"); var result = collection.Find(filter).ToList(); // 小于等于查询 var filter = Builders<BsonDocument>.Filter.Lte("field", "value"); var result = collection.Find(filter).ToList(); ``` 其,`Builders<BsonDocument>.Filter.Gte` 方法用于创建大于等于查询的过滤器,`Builders<BsonDocument>.Filter.Lte` 方法用于创建小于等于查询的过滤器。 4. 包含查询 包含查询用于查询指定字段包含指定值的文档。在 C# 实现包含查询,可以使用下面的代码: ```c# var filter = Builders<BsonDocument>.Filter.In("field", new BsonArray { "value1", "value2", "value3" }); var result = collection.Find(filter).ToList(); ``` 其,`new BsonArray { "value1", "value2", "value3" }` 是要查询的值列表,`Builders<BsonDocument>.Filter.In` 方法用于创建包含查询的过滤器。 5. 不包含查询 不包含查询用于查询指定字段不包含指定值的文档。在 C# 实现不包含查询,可以使用下面的代码: ```c# var filter = Builders<BsonDocument>.Filter.Nin("field", new BsonArray { "value1", "value2", "value3" }); var result = collection.Find(filter).ToList(); ``` 其,`new BsonArray { "value1", "value2", "value3" }` 是要查询的值列表,`Builders<BsonDocument>.Filter.Nin` 方法用于创建不包含查询的过滤器。 以上是 MongoDB 常用的几种查询操作,在 C# 可以使用 MongoDBC# 驱动程序实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值