MongoDB C#驱动程序MongoCredential对象

Ran*_*ger 3 c# mongodb mongodb-.net-driver

MongoDB驱动程序的文档似乎与从NuGet中提取的实际驱动程序不同.

更具体地说,记录的"MongoCredentials"(复数)不存在,但只有"MongoCredential"(单数).此外,MongoServer.GetDatabase似乎没有接受MongoCredential的构造函数,只有MongoDatabaseSettings(以及命名数据库的字符串),并且我没有看到明显的方式为MongoDatabaseSettings对象提供MongoCredential对象.

我没有在Google上找到我在驱动程序中找到的对象的任何示例,只有那些与(过时的?)官方文档一致的对象.

我正在使用的驱动程序(在NuGet包管理器中)被称为"官方MongoDB C#驱动程序".

总结一下:如何在C#驱动程序中实际提供凭据?

Cri*_*scu 7

我也在使用NuGet 的官方MongoDB C#驱动程序,版本1.8.3.

实际上,CSharp驱动程序教程似乎已经过时了.

但是,API文档是正确的; 那里有MongoCredential类的入口(单数).

您可以使用构造函数或其中一个静态工厂方法(CreateGssapiCredentialCreateMongoCRCredential)创建凭证.

接下来,为了使用凭据,您无法在GetDatabase()调用中指定它们,但在创建服务器时更早,如下所示:

var db1Credential = MongoCredential.CreateMongoCRCredential("db1", "uid", "pwd");
var db2Credential = MongoCredential.CreateMongoCRCredential("db2", "uid", "pwd");

var server = new MongoServer(
    new MongoServerSettings
        {
            Server = new MongoServerAddress("localhost", 27017),
            Credentials = new[]
                            {
                                db1Credential,
                                db2Credential
                            }
        });
Run Code Online (Sandbox Code Playgroud)