MongodbConnectionString
本文档描述定义的URI格式之间,以及应用程序和MongoDB实例的连接,参考官方MongoDB的驱动。 原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options 标准连接字符串格式 本节描述的标准格式连接MongoDBURI用于
本文档描述定义的URI格式之间,以及应用程序和MongoDB实例的连接,参考官方MongoDB的驱动。
原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options
标准连接字符串格式
本节描述的标准格式连接MongoDBURI用于连接MongoDB数据库服务器。所有官方MongoDB的格式都是相同的驱动程序。对于驱动和驱动的链接文档的列表,看到MongoDB驱动和客户端库(MongoDB Drivers and Client Libraries)
以下是标准的链接方式
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
参数说明:
mongodb://字符串链接的标准格式
username:password@
可选的,一般默认是没有名称和密码的,只有在MongoDB服务器使用了身份验证时才出现。
/database
可选的,如果链接的字符串中包含了验证身份的用户名和密码,则数据库是必须要有的。若没有包含数据库名称,默认是链接admin的数据库
?options
链接特定选项。如果没有指定链接特定的数据库名称,必须在主机名后面加"/",并且在optin的前面以问号形式开头"?".
实例:
mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test
继续查找发现了另一篇文章。只做重点翻译:
内部认证
当你只需要一个用户,它在连接字符串中指定这是可能的。
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
刚开始我也是不知道如何进行参数赋值,只是在一步步的操作中发现参数是有类型的,一些类型是一些引用类,就需要实例化赋值。所以才有最后看起来很多的参数。
配置文件中的信息
<addkey="connectionPool" value="1000"/><!--连接池设置--> <add key="hostname"value="192.168.24.249"/> <add key="port"value="27017"/> <add key="database"value="DB3"/> <add key="minpool"value="300"/> </appSettings>
当然了客户端的方式写出来了。服务端也就容易的很多了
#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的设置,但是又不同,需要进行代码设置,这是这个代码的参数可以写在配置文件中。这次的资料查找我深刻认识到,英语是非常非常重要的工具,如果你想更深入的了解,英语是必不可少的利器。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 Microsoft Word에서 문서를 다시 페이지하거나 인쇄하기 위한 메모리나 디스크 공간 부족 문제를 해결하는 방법을 소개합니다. 이 오류는 일반적으로 사용자가 Word 문서를 인쇄하려고 할 때 발생합니다. 비슷한 오류가 발생하는 경우 이 문서에 제공된 제안 사항을 참조하여 문제를 해결하세요. 이 문서를 다시 페이지하거나 인쇄할 메모리나 디스크 공간이 부족합니다. Word 오류 "문서를 다시 페이지하거나 인쇄할 메모리나 디스크 공간이 부족합니다."라는 Microsoft Word 인쇄 오류를 해결하는 방법입니다. Microsoft Office 업데이트 메모리를 많이 차지하는 응용 프로그램 닫기 기본 프린터 변경 안전 모드에서 Word 시작 NorMal.dotm 파일 이름 바꾸기 Word 파일을 다른 이름으로 저장

395단어, 즉 495단어입니다. 이 기사에서는 Word 문서에 빨간색 선을 추가하는 방법을 보여줍니다. 문서에 레드라인을 긋는 것은 사용자가 변경 사항을 명확하게 볼 수 있도록 문서를 수정하는 것을 의미합니다. 이 기능은 여러 사람이 함께 문서를 편집할 때 매우 중요합니다. 빨간색 선의 의미 문서 표시 빨간색 선은 빨간색 선이나 설명선을 사용하여 문서의 변경, 편집 또는 수정 사항을 나타내는 것을 의미합니다. 이 용어는 인쇄된 문서를 표시하기 위해 빨간 펜을 사용하는 관행에서 영감을 받았습니다. Redline 주석은 문서를 편집할 때 작성자, 편집자 및 검토자에게 권장되는 변경 사항을 명확하게 표시하는 등 다양한 시나리오에서 널리 사용됩니다. 법적 계약이나 계약의 변경 및 수정을 제안합니다. 논문, 발표 등에 대한 건설적인 비판과 제안을 제공합니다. W를 주는 방법

최근 네트워크 기술의 지속적인 발전으로 인해 우리의 삶은 다양한 디지털 도구와 인터넷으로부터 분리될 수 없게 되었습니다. 문서를 처리할 때, 특히 서면으로 문서를 처리할 때 우리는 종종 워드 문서를 사용합니다. 그러나 때로는 어려운 문제에 직면할 수도 있습니다. 즉, 단어 문서의 하이퍼링크가 열리지 않는 경우가 있습니다. 이 문제는 아래에서 논의됩니다. 우선, 하이퍼링크는 워드 문서에 추가된 다른 문서, 웹 페이지, 디렉터리, 북마크 등에 대한 링크를 의미한다는 점을 분명히 해야 합니다. 이 링크를 클릭하면 나는

Windows 11/10 컴퓨터에서 Word 문서를 열 때 빈 페이지 문제가 발생하면 상황을 해결하기 위해 복구해야 할 수도 있습니다. 이 문제의 원인은 다양하며, 가장 일반적인 원인 중 하나는 손상된 문서 자체입니다. 또한 Office 파일이 손상되면 유사한 상황이 발생할 수도 있습니다. 따라서 이 문서에서 제공하는 수정 사항이 도움이 될 수 있습니다. 일부 도구를 사용하여 손상된 Word 문서를 복구해 보거나 문서를 다른 형식으로 변환한 후 다시 열어볼 수 있습니다. 또한 시스템의 Office 소프트웨어를 업데이트해야 하는지 확인하는 것도 이 문제를 해결하는 방법입니다. 다음의 간단한 단계를 따르면 Win에서 Word 문서를 열 때 Word 문서가 비어 있는 문제를 해결할 수 있습니다.

표준 출력을 구현하려면 Go 언어 문서에서 os.Stdout.Write 함수를 알아보세요. Go 언어에서 표준 출력은 os.Stdout을 통해 구현됩니다. os.Stdout은 표준 출력 장치를 나타내는 *os.File 유형의 변수입니다. 콘텐츠를 표준 출력으로 출력하려면 os.Stdout.Write 함수를 사용할 수 있습니다. 이 기사에서는 os.Stdout.Write 함수를 사용하여 표준 출력을 구현하고 특정 코드 예제를 제공하는 방법을 소개합니다. OS.

Workerman 문서의 기본 사용법을 구현하는 방법 소개: Workerman은 개발자가 동시성이 높은 네트워크 애플리케이션을 쉽게 구축하는 데 도움이 되는 고성능 PHP 개발 프레임워크입니다. 이 기사에서는 설치 및 구성, 서비스 및 수신 포트 생성, 클라이언트 요청 처리 등 Workerman의 기본 사용법을 소개합니다. 그리고 해당 코드 예제를 제공하십시오. 1. Workerman을 설치하고 구성하려면 명령줄에 다음 명령을 입력합니다.

Java 문서 해석: StringBuilder 클래스의 substring() 메소드에 대한 자세한 소개 소개: Java 프로그래밍에서 문자열 처리는 가장 일반적인 작업 중 하나입니다. Java는 문자열 처리를 위한 일련의 클래스와 메서드를 제공하며, 그중 StringBuilder 클래스는 자주 사용되는 문자열 작업에 일반적으로 사용됩니다. StringBuilder 클래스에서 substring() 메서드는 문자열의 하위 문자열을 가로채는 데 매우 유용한 메서드입니다. 이 기사는

PHP를 Taobao 제품 검색 API 문서에 연결하는 방법 Taobao는 거대한 제품 재고와 사용자 기반을 갖춘 중국 최대 전자상거래 플랫폼 중 하나입니다. 개발자는 Taobao의 API 인터페이스에 연결하여 제품 정보, 판촉 활동, 거래 및 기타 기능을 얻을 수 있으며 이를 통해 개인화된 비즈니스 애플리케이션을 실현할 수 있습니다. 이 기사에서는 개발자가 자신의 전자 상거래 애플리케이션을 신속하게 구축할 수 있도록 PHP 언어를 사용하여 Taobao 제품 검색 API에 연결하는 방법을 소개합니다. 1단계: 타오바오 개발자 등록을 시작하기 전에 타오바오 개발자 등록이 필요합니다.
