Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
288 views
in Technique[技术] by (71.8m points)

c# - mongodb authentication with connection string

The connection string for Mongo process has /database option . What does it mean? Does it mean it authenticates the particular database on mongo server.Thanks in advance

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

With the C# driver you typically would not use the option of putting a database name on the connection string. It is partially supported to provide some level of compatibility with other drivers.

MongoServer.Create ignores the database name. Any credentials (username/password) on the connection string are used as default credentials for all databases.

The database name is only used by MongoDatabase.Create, which calls MongoServer.Create and then just calls GetDatabase for you.

So:

var connectionString = "mongodb://localhost/database";
var database = MongoDatabase.Create(connectionString);

is just a shortcut for:

var connectionString = "mongodb://localhost";
var server = MongoServer.Create(connectionString);
var database = server.GetDatabase("database");

No authentication actually happens until you first try to use a database.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...