最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MongodbConnectionString

来源:动视网 责编:小采 时间:2020-11-09 15:13:27
文档

MongodbConnectionString

MongodbConnectionString:本文档描述定义的URI格式之间,以及应用程序和MongoDB实例的连接,参考官方MongoDB的驱动。 原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options 标准连接字符串格式 本节描述的
推荐度:
导读MongodbConnectionString:本文档描述定义的URI格式之间,以及应用程序和MongoDB实例的连接,参考官方MongoDB的驱动。 原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options 标准连接字符串格式 本节描述的


继续查找发现了另一篇文章。只做重点翻译:

内部认证

当你只需要一个用户,它在连接字符串中指定这是可能的。

var connectionString ="mongodb://user1:password1@localhost/test";
var mongoClient = newMongoClient(connectionString);
 
注意: 如果你不指定一个数据库连接字符串,默认的数据库是“admin”数据库.

看到这里心里狂喜,终于可以进行配置文件的设置了,但是发现c#的驱动并不支持这样的编写,于是又是一个失落。

链接原理:

链接数据库,官方提供了两种线程安全的方式,一个是MongoClient, 另一个是MongoServer,都是线程安全的,自动进行锁定的。

利用服务端类链接数据库

// Create server settings to passconnection string, timeout, etc.
MongoServerSettingssettings =newMongoServerSettings();
settings.Server = new MongoServerAddress("localhost",27017);
// Create server object tocommunicate with our server
MongoServer server = new MongoServer(settings);
// Get our databaseinstance to reach collections and data
var database = server.GetDatabase("MessageDB");

客户端类链接数据库的实例

var client = new MongoClient("mongodb://localhost:27017");
var server = client.GetServer();
var database = server.GetDatabase("foo");
var collection = database.GetCollection("bar");

以上的两种链接方式我都做个测试。并且都可以用。这是一般更倾向于客户端的链接方式。

通过查找Api,发现客户端的类的构造方法还有其他的

 public MongoClient();
 public MongoClient(MongoClientSettingssettings);
 public MongoClient(MongoUrl url);
 public MongoClient(stringconnectionString);

我们通常用的是string字符串的链接,这次对MongoClientSettings进行的深度的查找调用发MongoClientSettings 是可以进行更多的参数设置的,和Option类似,于是找到了解决方案,通过配置文件对MongoClientSettings进行参数设置。

默认情况下,最大链接池是100,最小是0,数据库链接是本地的。下面我们看测试

MongoClientSettings settingsclient = newMongoClientSettings();//实例化客户端设置类

红色划线部分是默认的参数,当我们不填写任何参数,驱动程序是进行默认的参数设置的。

通过客户端类的参数设置可以发现已经有所不同了。

那代码是如何编写的呢

#region 读取配置文件信息

 //获取链接池大小

 int connectionPool =Convert.ToInt32(ConfigurationManager.AppSettings["connectionPool"]);

 int minpool =Convert.ToInt32(ConfigurationManager.AppSettings["minpool"]);

 string hostname =ConfigurationManager.AppSettings["hostname"];

 Int32 port =Convert.ToInt32(ConfigurationManager.AppSettings["port"]);

 string database =ConfigurationManager.AppSettings["database"];
 
 #endregion
 
 if (String.IsNullOrEmpty(ConnectionString))

 {

 throw newArgumentNullException("Connection string not found.");

 }

 #region 客户端类设置

 MongoServerAddress ipaddress = newMongoServerAddress(hostname, port);//设置服务器的ip和端口

 MongoClientSettings settingsclient= new MongoClientSettings();//实例化客户端设置类

 settingsclient.Server =ipaddress;//端口赋值

 settingsclient.MaxConnectionPoolSize = connectionPool;

 settingsclient.MinConnectionPoolSize = minpool;

 settingsclient.ConnectionMode =0;//链接模式设置

 // MongoUrl url=newMongoUrl(ConnectionString);

 MongoClient client = newMongoClient(settingsclient);//调用客户端类构造函数设置参数

 MongoServer server =client.GetServer();//服务端获取客户端参数

 DB =server.GetDatabase(database);//获取数据库名称

 #endregion 

刚开始我也是不知道如何进行参数赋值,只是在一步步的操作中发现参数是有类型的,一些类型是一些引用类,就需要实例化赋值。所以才有最后看起来很多的参数。

配置文件中的信息



 

 

 

 

 

当然了客户端的方式写出来了。服务端也就容易的很多了

#region 服务端链接设置

 MongoServerSettings mongoSetting =new MongoServerSettings();

 //mongoSetting.Server = newMongoServerAddress(ConnectionString, connectionPool);

 mongoSetting.MaxConnectionPoolSize= connectionPool;//设定最大连接池

 mongoSetting.Server = newMongoServerAddress(hostname, port);

 MongoServer server =MongoServer.Create(mongoSetting);//创建连接数据文件

 DB = server.GetDatabase(database);

 #endregion 

认识:

由于该数据库的参考资料比较少,所以多数资料还是外文,刚开始看到很是惊讶,如此多的英语能看的明白么。但是只要心境平静,一切都是可以的。通过基本的查找和一些外文论坛了解的基本的设置。很像SQL的设置,但是又不同,需要进行代码设置,这是这个代码的参数可以写在配置文件中。这次的资料查找我深刻认识到,英语是非常非常重要的工具,如果你想更深入的了解,英语是必不可少的利器。

文档

MongodbConnectionString

MongodbConnectionString:本文档描述定义的URI格式之间,以及应用程序和MongoDB实例的连接,参考官方MongoDB的驱动。 原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options 标准连接字符串格式 本节描述的
推荐度:
标签: 文档 描述 string
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top