c#链接mongDB集群实战开发3
c# 链接mongDB集群 一 了解mongdb 二 部署集群 三 C#链接mongdb 完成测试 C#链接mongdb 完成测试 此章节继续我们上一章节将的我们开始用程序去链接mondbdb,大家都知道我们链接sqlserver其实用的是微软自己写的驱动。它已经封装了一些对象,要我们去链接。但
c# 链接mongDB集群
一 了解mongdb
二 部署集群
三 C#链接mongdb 完成测试
C#链接mongdb 完成测试
此章节继续我们上一章节将的我们开始用程序去链接mondbdb,大家都知道我们链接sqlserver其实用的是微软自己写的驱动。它已经封装了一些对象,要我们去链接。但是我们链接mondbdb 同样需要一些对象,这个mongdb官网有说明,可以自己去看看或者直接下载我的这里下载 或者在第一章节有些伙伴们已经下载好了
开发驱动文件夹 在 mongo-csharp-driver-master\mongo-csharp-driver-master\src SRC下面看到驱动项目这里注意,我下载是vs2012的项目,同学们可以根据自己的需要替换net framework 版本
打开项目之后看到 如图所示
编译项目得到
MongoDB.Bson.dll
MongoDB.Driver.dll
创建项目,项目配置文件如下
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <appSettings> <add key="LogLevel" value="trace" /> <add key="LogPath" value="E:\Tools\mongdb\FrmMongDB\FrmMongDB\logs" /> <!--MongDb配置begin--> <add key="MongReplicaSetName" value="zuomm"/><!--设置副本集名称--> <add key="MongoServerAddress" value="127.0.0.1:1111|127.0.0.1:2222|127.0.0.1:3333"/><!--mongdb集群列表--> <add key="TimeOut" value="60"/><!--mongdb集群链接超时时间--> <!--MongDb配置end--> </appSettings> </configuration>
LogLevel 为自定义 日记级别 ,这个后面看我的代码
LogPath 为日志路径
MongReplicaSetName 为副本集名称,其实就是建立集群的时候取的名字。
MongoServerAddress 为集群机器ip列表,我这里是自己的机器开了不同的端口来区别,你可以改成局域网ip
TimeOut 超时时间,默认貌似是3秒,我这里设置60秒方便调试
链接集群主要代码
/// <summary> /// 取得数据库连接字符串 /// </summary> /// <param name="connName">App.Config文件中AppSettings节中 AppSettings 对应的name</param> /// <returns>数据库连接字符串</returns> private static MongoServer GetConnStr() { List<MongoServerAddress> servers = new List<MongoServerAddress>(); string reg = @"^(?'server'\d{1,}.\d{1,}.\d{1,}.\d{1,}):(?'port'\d{1,})$"; string[] ServerList = ConfigurationManager.AppSettings["MongoServerAddress"].Trim().Split('|'); foreach (string server in ServerList) { MatchCollection mc = Regex.Matches(server, reg); if (mc != null && mc.Count > 0) servers.Add(new MongoServerAddress(mc[0].Groups["server"].ToString(), Convert.ToInt32(mc[0].Groups["port"].ToString()))); } if (servers == null || servers.Count < 1) return null; MongoClientSettings set = new MongoClientSettings(); set.Servers = servers; set.ReplicaSetName = ConfigurationManager.AppSettings["MongReplicaSetName"].Trim();//设置副本集名称 int TimeOut =ConvertUtil.ParseInt(ConfigurationManager.AppSettings["TimeOut"].Trim());//设置副本集名称 set.ConnectTimeout = new TimeSpan(0, 0, 0, TimeOut, 0);//设置超时时间为5秒 set.ReadPreference = new ReadPreference(ReadPreferenceMode.SecondaryPreferred); MongoClient client = new MongoClient(set); return client.GetServer(); } set.ReadPreference = new ReadPreference(ReadPreferenceMode.SecondaryPreferred); 这句代码可以根据自己需要修改。
其他没有什么注意的地方
数据插入mongdb代码
/// <summary> /// MongDB 批量insert语句 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="_databaseName">数据库名称</param> /// <param name="_collectionName">表名称</param> /// <param name="entitys">对象</param> /// <param name="errorMsg">返回错误</param> /// <returns></returns> public static IEnumerable<SafeModeResult> Execute<T>(string _databaseName, string _collectionName, IEnumerable<T> entitys, out string errorMsg) { errorMsg = string.Empty; //取得数据库连接 IEnumerable<SafeModeResult> result = null; try { if (null == entitys) return null; //获取连接的服务器集群 _server = GetConnStr(); //获取数据库或者创建数据库(不存在的话)。 MongoDatabase database = _server.GetDatabase(_databaseName); using (_server.RequestStart(database))//开始连接数据库。 { MongoCollection<T> myCollection = database.GetCollection<T>(_collectionName); result = myCollection.InsertBatch<T>(entitys); } } catch (Exception ex) { errorMsg = ex.ToString(); } finally { } //记录日志 if (!string.IsNullOrEmpty(errorMsg)) { LogUtil.Error("CommonLib.DbAccess.MongDBAccess", "Execute", errorMsg + "\n\r\t"); } return result; }
读取mongdb数据代码
/// <summary> /// 如果不清楚具体的数量,一般不要用这个函数。 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="collectionName"></param> /// <returns></returns> public static List<T> GetAll<T>(string _databaseName, string collectionName,out string errorMsg) { errorMsg = string.Empty; List<T> result = new List<T>(); try { //获取连接的服务器集群 _server = GetConnStr(); //获取数据库或者创建数据库(不存在的话)。 MongoDatabase database = _server.GetDatabase(_databaseName); using (_server.RequestStart(database))//开始连接数据库。 { MongoCollection<T> myCollection = database.GetCollection<T>(collectionName); result.AddRange(myCollection.FindAll()); } } catch (Exception ex ) { errorMsg = ex.ToString(); } //记录日志 if (!string.IsNullOrEmpty(errorMsg)) { LogUtil.Error("CommonLib.DbAccess.MongDBAccess", "GetAll", errorMsg + "\n\r\t"); } return result; }
以上是插入和读取代码。
后面运行效果如下
我这里插入了10w条数据 人然后读取10w条数据。效率比sqlserver是快很多。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Baru-baru ini, ramai pengguna bertanya kepada editor, bagaimana untuk memuat turun pautan bermula dengan 115://? Jika anda ingin memuat turun pautan bermula dengan 115://, anda perlu menggunakan pelayar 115 Selepas anda memuat turun pelayar 115, mari lihat tutorial muat turun yang disusun oleh editor di bawah. Pengenalan kepada cara memuat turun pautan bermula dengan 115:// 1. Log masuk ke 115.com, muat turun dan pasang pelayar 115. 2. Masukkan: chrome://extensions/ dalam bar alamat pelayar 115, masukkan pusat sambungan, cari Tampermonkey dan pasang pemalam yang sepadan. 3. Masukkan dalam bar alamat pelayar 115: Skrip Grease Monkey: https://greasyfork.org/en/

Sebagai sebahagian daripada ekosistem WeChat, akaun video WeChat secara beransur-ansur menjadi alat promosi yang penting untuk pencipta kandungan dan pedagang. Mendapatkan pautan ke akaun video pada platform ini adalah penting untuk berkongsi dan menyebarkan kandungan. Berikut akan memperkenalkan secara terperinci cara mendapatkan pautan akaun video WeChat dan cara menambah pautan produk ke akaun video untuk meningkatkan kesan penyebaran kandungan. 1. Bagaimana untuk mendapatkan pautan akaun video WeChat? Selepas menyiarkan video pada akaun video WeChat anda, sistem akan membuat pautan video secara automatik. Penulis boleh menyalin pautan selepas diterbitkan untuk memudahkan perkongsian dan penyebaran. Selepas log masuk ke akaun video WeChat anda, anda boleh menyemak imbas halaman utama akaun video anda. Di halaman utama, setiap video disertakan dengan pautan yang sepadan supaya anda boleh menyalin atau berkongsinya secara langsung. 3. Cari akaun video: Masukkan nama akaun video dalam kotak carian WeChat

Alat pengaturcaraan berbantukan AI ini telah menemui sejumlah besar alat pengaturcaraan berbantukan AI yang berguna dalam peringkat pembangunan AI yang pesat ini. Alat pengaturcaraan berbantukan AI boleh meningkatkan kecekapan pembangunan, meningkatkan kualiti kod dan mengurangkan kadar pepijat Ia adalah pembantu penting dalam proses pembangunan perisian moden. Hari ini Dayao akan berkongsi dengan anda 4 alat pengaturcaraan berbantukan AI (dan semua menyokong bahasa C# saya harap ia akan membantu semua orang). https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot ialah pembantu pengekodan AI yang membantu anda menulis kod dengan lebih pantas dan dengan sedikit usaha, supaya anda boleh lebih memfokuskan pada penyelesaian masalah dan kerjasama. Git

Dengan populariti platform video pendek, semakin ramai pencipta mula menggunakan akaun video untuk mencipta dan mempromosikan kandungan. Akaun video bukan sahaja boleh mempamerkan bakat peribadi, tetapi juga merealisasikan pengewangan komersial melalui pautan produk. Walau bagaimanapun, untuk menambah pautan ke akaun video, syarat tertentu mesti dipenuhi. 1. Apakah keperluan untuk pautan video? Pengesahan akaun video adalah prasyarat untuk menambah pautan ke akaun video anda. Pada masa ini, platform video pendek utama seperti Douyin dan Kuaishou menyediakan perkhidmatan pensijilan, yang terutamanya merangkumi dua jenis: pensijilan peribadi dan pensijilan institusi. Pensijilan peribadi memerlukan penyerahan maklumat identiti sebenar, manakala pensijilan institusi memerlukan penyediaan bahan pensijilan daripada syarikat atau organisasi yang berkaitan. Selepas melengkapkan pengesahan, pengguna boleh menambah pautan ke akaun video mereka untuk meningkatkan kredibiliti dan kewibawaan akaun mereka. Salah satu pautan video

Tutorial aplikasi mudah alih pembangunan bahasa Go Memandangkan pasaran aplikasi mudah alih terus berkembang pesat, semakin ramai pembangun mula meneroka cara menggunakan bahasa Go untuk membangunkan aplikasi mudah alih. Sebagai bahasa pengaturcaraan yang mudah dan cekap, bahasa Go juga telah menunjukkan potensi yang kukuh dalam pembangunan aplikasi mudah alih. Artikel ini akan memperkenalkan secara terperinci cara menggunakan bahasa Go untuk membangunkan aplikasi mudah alih dan melampirkan contoh kod khusus untuk membantu pembaca bermula dengan cepat dan mula membangunkan aplikasi mudah alih mereka sendiri. 1. Persediaan Sebelum memulakan, kita perlu menyediakan persekitaran dan alatan pembangunan. kepala

Pada 3 Mac 2022, kurang daripada sebulan selepas kelahiran pengaturcara AI pertama di dunia, Devin, pasukan NLP Universiti Princeton membangunkan pengaturcara AI sumber terbuka ejen SWE. Ia memanfaatkan model GPT-4 untuk menyelesaikan isu secara automatik dalam repositori GitHub. Prestasi ejen SWE pada set ujian bangku SWE adalah serupa dengan Devin, mengambil purata 93 saat dan menyelesaikan 12.29% masalah. Dengan berinteraksi dengan terminal khusus, ejen SWE boleh membuka dan mencari kandungan fail, menggunakan semakan sintaks automatik, mengedit baris tertentu dan menulis serta melaksanakan ujian. (Nota: Kandungan di atas adalah sedikit pelarasan bagi kandungan asal, tetapi maklumat utama dalam teks asal dikekalkan dan tidak melebihi had perkataan yang ditentukan.) SWE-A

Amalan PHP: Contoh Kod untuk Melaksanakan Jujukan Fibonacci dengan Pantas Jujukan Fibonacci ialah jujukan yang sangat menarik dan biasa dalam matematik Ia ditakrifkan seperti berikut: nombor pertama dan kedua ialah 0 dan 1, dan daripada yang ketiga Bermula dengan nombor, setiap nombor. ialah hasil tambah dua nombor sebelumnya. Beberapa nombor pertama dalam jujukan Fibonacci ialah 0,1,1.2,3,5,8,13,21,...dan seterusnya. Dalam PHP, kita boleh menjana jujukan Fibonacci melalui rekursi dan lelaran. Di bawah ini kami akan menunjukkan kedua-dua ini

Ramai rakan masih tidak tahu cara memautkan pada Doudian, jadi editor di bawah menerangkan tutorial tentang cara memautkan pada Doudian Jika anda memerlukan, segera lihat saya percaya ia akan membantu semua orang. Langkah 1: Mula-mula buka klien komputer Doudian dan masukkan "Pengurusan Produk Tetingkap" pada lajur kiri, seperti yang ditunjukkan dalam gambar. Langkah 2: Kemudian klik "Tambah Produk" di penjuru kanan sebelah atas, seperti yang ditunjukkan dalam gambar. Langkah 3: Kemudian salin dan tampal pautan produk kami, seperti yang ditunjukkan dalam gambar. Langkah 4: Kemudian klik "Sahkan Tambah", seperti yang ditunjukkan dalam gambar. Langkah 5: Akhir sekali masukkan pengenalan, gambar dan maklumat lain, dan kemudian klik "Sahkan" untuk memaut pada Douyin, seperti yang ditunjukkan dalam gambar. Di atas ialah keseluruhan kandungan cara menambah pautan ke Doudian yang dibawakan kepada anda oleh editor saya harap ia dapat membantu semua orang.
