C#连接MongoDB数据库

C#连接MongoDB数据库

C#连接使用MongoDB数据库,使用C#连接MongoDB是应用mongodb的driver,项目地址[Github](https://github.com/mongodb/mongo-csharp-driver) 关于使用有几点需要注意:

  • 连接字符串
    文档中给出的连接字符串是没有用户名密码的,所以有时不方便,在此给出比较全的连接字符串的写法:
var client = new MongoClient("mongodb://username:pwd@host:port/dbname");
if (client == null) {
    MessageBox.Show("MongoDB连接失败!");
} else {
    MessageBox.Show("MongoDB连接成功!");
}
  • dll缺失
    开始运行过程中会报一个错误,从错误信息看来是找不到文件,但是从官网下载的dll都已经引用了,最后通过编译源码后发现原来是一个dll没有引用,System.Runtime.InteropServices.RuntimeInformation.dll这个dll需要引用一下,这个文件可以从这里下载

  • 字段缺失与指定名称
    使用过程中发现提供了非常丰富的Attribute来使用,这个地方介绍简单的几个,分别实现了忽略字段缺失以及指定对应属性与字段名称的功能,至于更加丰富的Attribute建议看一下源码。

[BsonIgnoreExtraElements]
public class DataEntity {
    public ObjectId Id { get; set; }
    [BsonElement(elementName: "warning_id")]
    public string WarningId { get; set; }
    [BsonIgnore]
    public string Memo { get; set; }
}

只要注意以上两点,就可以成功的连接上MongoDB了,关于对数据的操作,就看文档就好了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 C#连接 MongoDB 数据库,需要使用官方提供的 C# 驱动程序。可以通过以下步骤进行连接: 1. 安装 MongoDB 驱动程序 使用 NuGet 包管理器或在项目中添加引用,安装 MongoDB 驱动程序。可以搜索 MongoDB.Driver 包并安装它。 2. 导入命名空间 在需要连接 MongoDB 数据库C# 文件中,需要导入以下命名空间: ``` using MongoDB.Driver; ``` 3. 建立连接 使用 MongoClient 类建立连接,代码如下: ``` MongoClient client = new MongoClient("mongodb://localhost:27017"); ``` 其中,连接字符串指定了 MongoDB 服务器的地址和端口号。 4. 获取数据库 使用 MongoClient 类的 GetDatabase 方法获取要操作的数据库,代码如下: ``` IMongoDatabase database = client.GetDatabase("database_name"); ``` 其中,database_name 是要连接数据库的名称。 5. 获取集合 使用 IMongoDatabase 实例的 GetCollection 方法获取要操作的集合,代码如下: ``` IMongoCollection<BsonDocument> collection = database.GetCollection<BsonDocument>("collection_name"); ``` 其中,collection_name 是要操作的集合的名称。 6. 执行操作 现在可以使用 IMongoCollection 实例执行 MongoDB 操作,例如插入文档、查询文档等。 完整示例代码: ``` using MongoDB.Driver; namespace MongoDBDemo { class Program { static void Main(string[] args) { // 建立连接 MongoClient client = new MongoClient("mongodb://localhost:27017"); // 获取数据库 IMongoDatabase database = client.GetDatabase("test"); // 获取集合 IMongoCollection<BsonDocument> collection = database.GetCollection<BsonDocument>("users"); // 插入文档 BsonDocument document = new BsonDocument { { "name", "张三" }, { "age", 25 } }; collection.InsertOne(document); // 查询文档 var filter = Builders<BsonDocument>.Filter.Eq("name", "张三"); var result = collection.Find(filter).ToList(); foreach (var item in result) { Console.WriteLine(item); } Console.ReadLine(); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值