c 鏈結mongDB集群實戰開發3

2022-03-23 02:41:10 字數 2691 閱讀 1249

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" ?>

loglevel 為自定義 日記級別 ,這個後面看我的**

logpath 為日誌路徑

mongreplicasetname 為副本集名稱,其實就是建立集群的時候取的名字。

mongoserveraddress 為集群機器ip列表,我這裡是自己的機器開了不同的埠來區別,你可以改成區域網ip

timeout 超時時間,預設貌似是3秒,我這裡設定60秒方便除錯

鏈結集群主要**

///

/// 取得資料庫連線字串

///

/// app.config檔案中appsettings節中 appsettings 對應的name

/// 資料庫連線字串

private static mongoserver getconnstr()

.\d.\d.\d):(?'port'\d)$";

string serverlist = configurationmanager.appsettings["mongoserveraddress"].trim().split('|');

foreach (string server in serverlist)

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**

///

/// mongdb 批量insert語句

///

/// 物件型別

/// 資料庫名稱

/// 表名稱

/// 物件

/// 返回錯誤

///

public static ienumerable execute(string _databasename, string _collectionname, ienumerable entitys, out string errormsg)

}catch (exception ex)

finally

//記錄日誌

if (!string.isnullorempty(errormsg))

return result;

}讀取mongdb資料**

///

/// 如果不清楚具體的數量,一般不要用這個函式。

///

///

///

///

public static list getall(string _databasename, string collectionname,out string errormsg)

}catch (exception ex )

//記錄日誌

if (!string.isnullorempty(errormsg))

return result;

} 以上是插入和讀取**。

後面執行效果如下

我這裡插入了10w條資料 人然後讀取10w條資料。效率比sqlserver是快很多。

c 程式設計實戰寶典 付強 C 開發實戰寶典pdf

c 開發實戰寶典 內容簡介 本書從初學者的角度講述使用visual studio2008開發環境結合c 語言進行程式開發應該掌握的各項技術,突出 基礎 全面 深入 同時就像書名所暗示的一樣,強調 實戰 效果。在介紹技術的同時,書中都會提供示例或稍大一些的例項,同時在各章的結尾安排有綜合應用,通過幾個...

c 專案實戰 qt動態鏈結庫的使用

window平台 利用qt編寫動態鏈結庫 呼叫動態庫 pro檔案加上 win32 libs l pwd lmodel includepath pwd dependpath pwd cpp呼叫中使用 include標頭檔案 ubuntu平台 動態庫專案會在build desktop debug目錄裡生...

c語言實戰開發 2019 11 13 Day1

講了如何寫部落格,怎麼賺錢 以及打字的正確方式 2 格式 介紹文章的內容 目的 思路 使用的技術 具體內容 結合。總結 也可以把總結放到具體內容前面 遇到什麼問題,怎麼解決 用markdown來書寫 語法 有提示 手型要正確 1 手指微微彎曲 2 大拇指靠在空格鍵 3 左右放在asdf 右手放在jk...