时间:2019-04-01 标签:c#mongodb database collection find
Posted
技术标签:
【中文标题】时间:2019-04-01 标签:c#mongodb database collection find【英文标题】:c# mongodb database collection find 【发布时间】:2021-10-27 09:09:59 【问题描述】:我有一个asp.net mvc网站。我将连接到mongodb云数据库并进行crud操作。我使用 actionresult 中的外部类链接来执行此操作。
public ActionResult Example(data d)
var client = new MongoClient(
"mongodb+srv://username:password@server_source_name/databasename?retryWrites=true&w=majority"
);
var database = client.GetDatabase("database_name");
var collection = database.GetCollection<data>("collection_name");
var result =collection.Find(x => x.example == "ABC").ToList();
return Content(result.ToString());
源代码中的data.css:
public class data
[BsonId]
public ObjectId _id get; set;
[BsonElement("example")]
public string example get; set;
[BsonElement("example_1")]
public string example_1 get; set;
[BsonElement("example_2")]
public string example_2 get; set;
用户名和密码是正确的,我确定是因为当你执行database.toString()时,它显示的名称与mongodb中的名称匹配。
完整的错误文本:
命令 saslContinue failed: bad auth : Authentication failed..
错误结果图片:
【问题讨论】:
用户名/密码中是否有任何可能无法在 URL 中正确解析的非字母数字或非 ascii 字符? 用户名密码全字。连接字符串也是如此。反正如果其中一个出了故障,难道就不需要建立数据库连接了吗? 【参考方案1】:Authentication failed
表示服务器收到凭据,但它们与服务器存储的内容不匹配。
凭证有 3 个部分:用户名、密码和数据库。当记录失败的身份验证尝试时,mongod 日志将报告为 username@databasename
,因此您可以检查它使用的是什么。
如果您没有显式传递数据库进行身份验证,mongod 服务器将使用您要连接的数据库名称。
将&authSource=admin
添加到连接字符串以显式使用存储在管理数据库中的用户凭据。
【讨论】:
以上是关于时间:2019-04-01 标签:c#mongodb database collection find的主要内容,如果未能解决你的问题,请参考以下文章
时间:2019-04-01 标签:c#com object can't get ref object values
时间:2019-04-01 标签:c#mongodb database collection find
时间:2019-04-01 标签:c#dllimport parameters shift
时间:2019-04-01 标签:c#swagger openapi erronous refs when nested classes