Jadual Kandungan
标准连接字符串格式
内部认证
链接原理:
认识:
Rumah pangkalan data tutorial mysql MongodbConnectionString

MongodbConnectionString

Jun 07, 2016 pm 03:54 PM
dokumen

本文档描述定义的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]]
Salin selepas log masuk

参数说明:

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”数据库.
Salin selepas log masuk

看到这里心里狂喜,终于可以进行配置文件的设置了,但是发现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");
Salin selepas log masuk

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

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

  public MongoClient();
        public MongoClient(MongoClientSettingssettings);
        public MongoClient(MongoUrl url);
        public MongoClient(stringconnectionString);
Salin selepas log masuk

我们通常用的是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 
Salin selepas log masuk

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

配置文件中的信息

<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>
Salin selepas log masuk

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

#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 
Salin selepas log masuk

认识:

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Memori atau ruang cakera tidak mencukupi untuk mengepa semula atau mencetak dokumen ini Ralat Word Memori atau ruang cakera tidak mencukupi untuk mengepa semula atau mencetak dokumen ini Ralat Word Feb 19, 2024 pm 07:15 PM

Artikel ini akan memperkenalkan cara menyelesaikan masalah memori yang tidak mencukupi atau ruang cakera untuk halaman semula atau mencetak dokumen dalam Microsoft Word. Ralat ini biasanya berlaku apabila pengguna cuba mencetak dokumen Word. Jika anda menghadapi ralat yang serupa, sila rujuk cadangan yang diberikan dalam artikel ini untuk menyelesaikannya. Memori atau ruang cakera tidak mencukupi untuk halaman semula atau mencetak dokumen ini Ralat Word Bagaimana untuk menyelesaikan ralat pencetakan Microsoft Word "Tidak ada memori atau ruang cakera yang mencukupi untuk halaman semula atau mencetak dokumen." Kemas kini Microsoft Office Tutup aplikasi penyamaran memori Tukar pencetak lalai anda Mulakan Word dalam mod selamat Namakan semula fail NorMal.dotm Simpan fail Word sebagai yang lain

Bagaimana untuk menambah garis merah pada dokumen Word Bagaimana untuk menambah garis merah pada dokumen Word Mar 01, 2024 am 09:40 AM

Ia adalah 395 perkataan, iaitu 495. Artikel ini akan menunjukkan kepada anda cara menambah garis merah dalam dokumen Word. Menggariskan semula dokumen merujuk kepada membuat pengubahsuaian pada dokumen supaya pengguna dapat melihat perubahan dengan jelas. Ciri ini sangat penting apabila berbilang orang sedang mengedit dokumen bersama-sama. Maksud garis merah Menanda dokumen Garis merah bermaksud menggunakan garis merah atau serlahan ciri untuk menunjukkan perubahan, suntingan atau semakan pada dokumen. Istilah ini diilhamkan oleh amalan menggunakan pen merah untuk menandakan dokumen bercetak. Komen Redline digunakan secara meluas dalam senario yang berbeza, seperti menunjukkan dengan jelas perubahan yang disyorkan kepada pengarang, editor dan penyemak semasa mengedit dokumen. Cadangkan perubahan dan pengubahsuaian dalam perjanjian atau kontrak undang-undang Memberikan kritikan dan cadangan yang membina pada kertas kerja, pembentangan, dsb. Bagaimana untuk memberi W

Tidak boleh membuka hiperpautan dalam dokumen word Tidak boleh membuka hiperpautan dalam dokumen word Feb 18, 2024 pm 06:10 PM

Dalam beberapa tahun kebelakangan ini, dengan perkembangan berterusan teknologi rangkaian, kehidupan kita tidak dapat dipisahkan daripada pelbagai alat digital dan Internet. Semasa memproses dokumen, terutamanya dalam penulisan, kita sering menggunakan dokumen perkataan. Namun, kadangkala kita mungkin menghadapi masalah yang sukar, iaitu hiperpautan dalam dokumen perkataan tidak boleh dibuka. Isu ini akan dibincangkan di bawah. Pertama sekali, kita perlu menjelaskan bahawa hiperpautan merujuk kepada pautan yang ditambahkan dalam dokumen perkataan ke dokumen lain, halaman web, direktori, penanda halaman, dsb. Apabila kita klik pada pautan ini, saya

Dokumen Word kosong apabila dibuka pada Windows 11/10 Dokumen Word kosong apabila dibuka pada Windows 11/10 Mar 11, 2024 am 09:34 AM

Apabila anda menghadapi isu halaman kosong semasa membuka dokumen Word pada komputer Windows 11/10, anda mungkin perlu melakukan pembaikan untuk menyelesaikan situasi tersebut. Terdapat pelbagai sumber masalah ini, salah satu yang paling biasa ialah dokumen yang rosak itu sendiri. Tambahan pula, kerosakan fail Office juga boleh membawa kepada situasi yang sama. Oleh itu, pembaikan yang disediakan dalam artikel ini mungkin membantu anda. Anda boleh cuba menggunakan beberapa alat untuk membaiki dokumen Word yang rosak, atau cuba menukar dokumen kepada format lain dan membukanya semula. Selain itu, menyemak sama ada perisian Office dalam sistem perlu dikemas kini juga merupakan cara untuk menyelesaikan masalah ini. Dengan mengikuti langkah mudah ini, anda mungkin boleh membetulkan dokumen Word kosong apabila membuka dokumen Word pada Win

Ketahui fungsi os.Stdout.Write dalam dokumentasi bahasa Go untuk melaksanakan output standard Ketahui fungsi os.Stdout.Write dalam dokumentasi bahasa Go untuk melaksanakan output standard Nov 03, 2023 pm 03:48 PM

Ketahui fungsi os.Stdout.Write dalam dokumentasi bahasa Go untuk melaksanakan output standard Dalam bahasa Go, output standard dilaksanakan melalui os.Stdout. os.Stdout ialah pembolehubah jenis *os.File, yang mewakili peranti output standard. Untuk mengeluarkan kandungan kepada output standard, anda boleh menggunakan fungsi os.Stdout.Write. Artikel ini akan memperkenalkan cara menggunakan fungsi os.Stdout.Write untuk melaksanakan output standard dan menyediakan contoh kod khusus. os.

Tafsiran dokumentasi Java: Pengenalan terperinci kepada kaedah substring() kelas StringBuilder Tafsiran dokumentasi Java: Pengenalan terperinci kepada kaedah substring() kelas StringBuilder Nov 03, 2023 pm 04:31 PM

Tafsiran dokumentasi Java: Pengenalan terperinci kepada kaedah substring() kelas StringBuilder Pengenalan: Dalam pengaturcaraan Java, pemprosesan rentetan adalah salah satu operasi yang paling biasa. Java menyediakan satu siri kelas dan kaedah untuk pemprosesan rentetan, antaranya kelas StringBuilder ialah pilihan yang biasa digunakan untuk operasi rentetan yang kerap. Dalam kelas StringBuilder, kaedah substring() ialah kaedah yang sangat berguna untuk memintas substring rentetan. Artikel ini akan

Bagaimana untuk melaksanakan penggunaan asas dokumen Workerman Bagaimana untuk melaksanakan penggunaan asas dokumen Workerman Nov 08, 2023 am 11:46 AM

Pengenalan kepada cara melaksanakan penggunaan asas dokumen Workerman: Workerman ialah rangka kerja pembangunan PHP berprestasi tinggi yang boleh membantu pembangun membina aplikasi rangkaian konkurensi tinggi dengan mudah. Artikel ini akan memperkenalkan penggunaan asas Workerman, termasuk pemasangan dan konfigurasi, mencipta perkhidmatan dan port mendengar, mengendalikan permintaan pelanggan, dsb. Dan berikan contoh kod yang sepadan. 1. Pasang dan konfigurasikan Workerman Masukkan arahan berikut pada baris arahan untuk memasang Workerman: c

Cara menyambungkan PHP ke dokumentasi API carian produk Taobao Cara menyambungkan PHP ke dokumentasi API carian produk Taobao Jul 01, 2023 pm 10:16 PM

Cara menyambungkan PHP ke Dokumentasi API carian produk Taobao Taobao ialah salah satu platform e-dagang terbesar di China, dengan inventori produk dan pangkalan pengguna yang besar. Bagi pembangun, dengan menyambung ke antara muka API Taobao, mereka boleh mendapatkan maklumat produk, aktiviti promosi, urus niaga dan fungsi lain, dengan itu merealisasikan aplikasi perniagaan yang diperibadikan. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk menyambung ke API carian produk Taobao untuk membantu pembangun membina aplikasi e-dagang mereka sendiri dengan cepat. Langkah 1: Daftar sebagai pembangun Taobao Sebelum memulakan, anda perlu mendaftar sebagai pembangun Taobao.

See all articles