c# - MongoDB.Driver.MongoAuthenticationException C# 连接
问题描述
我有这个基于 mongodb 连接示例的代码,我正在尝试插入一个对象。但是在 insertone 线上出现错误
这是错误数据: MongoDB.Driver.MongoAuthenticationException:“无法使用 sasl 协议机制 SCRAM-SHA-1 进行身份验证。” 内部 MongoCommandException:命令 saslContinue 失败:身份验证错误 身份验证失败..
我是使用 mongodb 的新手,不知道错误原因是什么。任何帮助
static void Main(string[] args)
{
MongoClient dbClient = new MongoClient("mongodb+srv://dbUser:dbPass001@cluster0-pfry9.mongodb.net/test?retryWrites=true&w=majority");
var database = dbClient.GetDatabase("test");
var collection = database.GetCollection<anyClassTest>("entities");
var r = new anyClassTest() { name="Original", edad = 36, id = 1};
collection.InsertOne(r);
}
public class anyClassTest
{
public string name { get; set; }
public int edad { get; set; }
public int id { get; set; }
}
解决方案
对于独立的直接连接,请按以下方式创建客户端,
var servers = new List<MongoServerAddress>() { new MongoServerAddress("hostname", 27017) };
var credential = MongoCredential.CreateCredential("admin", "user", "pass");
var mongoClientSettings = new MongoClientSettings()
{
ConnectionMode = ConnectionMode.Direct,
Credential = credential,
Servers = servers.ToArray(),
ApplicationName = "NameOfApp",
};
MongoClient client = new MongoClient(mongoClientSettings);
一旦您拥有客户端(已连接),您就可以获取数据库/集合并执行您需要的操作。
var database = client.GetDatabase("dbname");
var collection = database.GetCollection<anyClassTest>("entities");
var r = new anyClassTest() { name="Original", edad = 36, id = 1};
collection.InsertOne(r);
推荐阅读
- javascript - 如何获取 HTML 定义的函数并在我的 .js 文件中调用它?
- android - 我的视频播放器无法正常工作
- server - RFI 监控每分钟的请求并调用 webhook 以扩展或缩减云服务器
- sql - 如何在 SQL 中生成可重现的随机整数列
- c# - C# 三部分格式输出问题
- python - add_star 函数未在 Networkx 中添加属性
- spring - Spring Cloud 中的 ServletRegistrationBean
- arrays - 如何查找 char** 数组的大小
- r - 4 天内 35 名受试者的 R 回归模型
- c# - Chrome 更新 89.0.4389.82 中的 SecurityTokenException