新手连接 MongoDB 出错求助

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手连接 MongoDB 出错求助相关的知识,希望对你有一定的参考价值。

参考技术A 怎么连接的?出现的什么错误?

C# .Net + MongoDB Atlas 连接字符串 MongoDB.Driver.Legacy 尝试运行客户端时出错

【中文标题】C# .Net + MongoDB Atlas 连接字符串 MongoDB.Driver.Legacy 尝试运行客户端时出错【英文标题】:C# .Net + MongoDB Atlas connection string MongoDB.Driver.Legacy error when trying to run Client 【发布时间】:2022-01-10 13:16:23 【问题描述】:

我在 MongoDB Atlas 数据库中设置了集群 + 集合。 我正在尝试按照以下教程进行操作: Bookstore | Using ASP.NET Core 5.0 and MongoDB

我的代码如下,当然换成真实数据:

var client = new MongoClient("mongodb+srv://<username>:<password>@<clustername>.ck3ra.mongodb.net/<database>?retryWrites=true&w=majority");
var database = client.GetDatabase("<database>");
var collection = database.GetCollection<BsonDocument>("validation");
ShowMessage(collection.ToString());

我得到的错误是:

System.IO.FileLoadException:无法加载文件或程序集“MongoDB.Driver.Legacy”或其依赖项之一。一个论点超出了它的法律范围。 (来自 HRESULT 的异常:0x80131502) 文件名:'MongoDB.Driver.Legacy' ---> System.ArgumentOutOfRangeException:长度不能小于零。 参数名称:长度

我不确定这里出了什么问题,因为我完全按照 MongoDB 网站上的 Connect 说明以及其他教程编写连接字符串...

不胜感激。 谢谢。

【问题讨论】:

你的项目中添加了mongocsharpdriver packge了吗? 您上面的代码没有使用旧版驱动程序,看起来您这边有一些不同的问题。创建一个简单的控制台应用程序并在那里检查此行为。我认为它可以正常工作,然后检查与主应用程序的区别 【参考方案1】:

您需要确保已将 mongocsharpdrive 包添加到您的包及其依赖项中。 由于您的目标是 .net5,因此请考虑 .net 标准 2.0 依赖项。

【讨论】:

谢谢!我已经通过 NuGet 包添加了它,但我似乎没有做出任何改变......任何方式来测试我是否正确完成......? @YafimSimanovsky 您是否添加了我的答案中给定链接中提到的依赖项? 是的,如果这就是您的意思,它会出现在项目的 packages.config 文件中。我不想通过 CLI 手动安装它,因为该项目是为外部用户编译的,我不确定他们将如何在不手动安装的情况下使用它,所以我必须将它作为一些包包含在项目编译中进程(例如 NuGet)。 “考虑 .net 标准 2.0 依赖项”到底是什么意思?也许我错过了一些文件,因为我仍然无法解决问题......

以上是关于新手连接 MongoDB 出错求助的主要内容,如果未能解决你的问题,请参考以下文章

Debezium Kafka 连接器 mongodb:将 kafka 连接器连接到 mongodb 时出错

MongoDB Mongoose 连接数据库时出错

尝试将 Spring Boot 应用程序与 mongoDB 连接时出错

C# .Net + MongoDB Atlas 连接字符串 MongoDB.Driver.Legacy 尝试运行客户端时出错

通过“通用数据库”连接 Pentaho 用户控制台和 MongoDB 时出错

连接错误:我是 Mongodb 的新手,现在在创建与节点 js 的连接到 mongodb atlas 显示以下错误时,我遇到了 mongodb 的问题