繁体   English   中英

MongoDB.Driver.MongoAuthenticationException C# 连接

[英]MongoDB.Driver.MongoAuthenticationException C# connection

我有此代码基于 mongodb 连接示例,我正在尝试插入 object。 但是在 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);

一旦你有客户端(连接),那么你可以得到数据库/collections 并做你需要的。

var database = client.GetDatabase("dbname");
var collection = database.GetCollection<anyClassTest>("entities");
var r = new anyClassTest() { name="Original", edad = 36, id = 1};
collection.InsertOne(r);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM