国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
MongoDB實(shí)戰(zhàn)開發(fā) 【零基礎(chǔ)學(xué)習(xí),附完整Asp.net示例】

【目標(biāo)】:本文將以實(shí)戰(zhàn)的形式,向您展示如何用C#訪問MongoDB,完成常見的數(shù)據(jù)庫操作任務(wù),同時(shí),也將介紹MongoDB的客戶端(命令行工作模式)以及一些基礎(chǔ)的命令。

【說明】:MongoDB是什么?有什么用?如果不清楚這些問題的,請(qǐng)自己google一下吧。

【適合對(duì)象】:完全沒有接觸MongoDB或?qū)ongoDB有一點(diǎn)了解的C#開發(fā)人員。因此本文是一篇入門級(jí)的文章。

【示例項(xiàng)目】:本文的完整示例是一個(gè)簡(jiǎn)單的【客戶,商品,訂單】業(yè)務(wù)場(chǎng)景, 預(yù)覽界面效果請(qǐng)點(diǎn)擊此處(但并不完全相同),也包含下載示例項(xiàng)目的源碼。

讓我們開始MongoDB的實(shí)戰(zhàn)入門吧。

下載MongoDB,并啟動(dòng)它

您可以在這個(gè)地址下載到MongoDB: http://www.mongodb.org/downloads,本文將以【mongodb-win32-i386-1.8.2-rc2】來演示MongoDB的使用。

下載好了嗎?我們繼續(xù)吧。請(qǐng)解壓縮您剛才下載的MongoDB的zip壓縮包,進(jìn)入解包的bin目錄,會(huì)發(fā)現(xiàn)有一堆exe文件?,F(xiàn)在,請(qǐng)打開命令行窗口并切換到剛才的bin目錄,然后輸入以下命令:

這里,我運(yùn)行了程序mongod.exe,并告訴它數(shù)據(jù)文件的保存目錄(這個(gè)目錄要事先創(chuàng)建好),至于mongod的更多命令行參數(shù),請(qǐng)輸入命令: mongod /? 來獲得。
如果您也看到了這個(gè)界面,那么表示MongoDB的服務(wù)端已成功啟動(dòng)了。

順便提一下:運(yùn)行mongod后,它會(huì)顯示一些有用的信息。比如:pid (進(jìn)程ID), tcp port (監(jiān)聽端口), http 端口(用于查看運(yùn)行狀態(tài)),操作系統(tǒng)版本,數(shù)據(jù)目錄,32 or 64位版本,如果是32位版本,它還會(huì)告訴你【數(shù)據(jù)有2G的限制】,所以正式使用建議運(yùn)行64位版本。

接下來,我們還要去下載MongoDB的C#驅(qū)動(dòng),它可以讓我們?cè)贑#中使用MongoDB 。下載地址: https://github.com/samus/mongodb-csharp
我下載到的壓縮包是:samus-mongodb-csharp-0.90.0.1-93-g6397a0f.zip 。這個(gè)壓縮包本身也包含了一個(gè)Sample,有興趣的可以看看它。
我們?cè)贑#訪問MongoDB所需的驅(qū)動(dòng)就是項(xiàng)目MongoDB了。編譯這個(gè)項(xiàng)目就能得到了,文件名:MongoDB.dll

在C#使用MongoDB

好了,有了前面的準(zhǔn)備工作,我們可以開始在C#中使用MongoDB了。不過,由于本示例項(xiàng)目的代碼也不少,因此本文將只展示與MongoDB交互的相關(guān)代碼,更完整的代碼請(qǐng)自行查閱示例項(xiàng)目。

接下來,本文演示通過C#完成【客戶資料】的一些基本的數(shù)據(jù)操作,還是先來定義一個(gè)客戶資料的類型吧。

public sealed class Customer{[MongoId]public string CustomerID { get; set; }public string CustomerName { get; set; }public string ContactName { get; set; }public string Address { get; set; }public string PostalCode { get; set; }public string Tel { get; set; }}

說明:這就是一個(gè)簡(jiǎn)單的類,而且代碼中的[MongoId]也是可以不要的(這個(gè)后面再說)。

在操作數(shù)據(jù)庫之前,我要說明一下:MongoDB在使用前,并不要求您事先創(chuàng)建好相應(yīng)的數(shù)據(jù)庫,設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)!
在MongoDB中,沒有【表】的概念,取而代之的是【集合】,也沒有【數(shù)據(jù)記錄】的概念,取而代之的是【文檔】,我們可以把【文檔】理解成一個(gè)【對(duì)象】,任意的對(duì)象,甚至可以有復(fù)雜的嵌套層次。
因此,我們不用再寫代碼從【數(shù)據(jù)表字段】到C#類的【屬性,字段】的轉(zhuǎn)換了,現(xiàn)在直接就可以讀寫整個(gè)對(duì)象了。
而且MongoDB不支持Join操作,所以,如果有【關(guān)聯(lián)】操作,就需要你自己來處理。

再來定義二個(gè)變量:

private static readonly string _connectionString = "Server=127.0.0.1";private static readonly string _dbName = "MyNorthwind";

新增記錄

public void Insert(Customer customer){customer.CustomerID = Guid.NewGuid().ToString("N");// 首先創(chuàng)建一個(gè)連接using( Mongo mongo = new Mongo(_connectionString) ) {// 打開連接mongo.Connect();// 切換到指定的數(shù)據(jù)庫var db = mongo.GetDatabase(_dbName);// 根據(jù)類型獲取相應(yīng)的集合var collection = db.GetCollection<Customer>();// 向集合中插入對(duì)象collection.Insert(customer);}}

上面的代碼中,每一行都有注釋,這里就不再解釋了。

刪除記錄

public void Delete(string customerId){using( Mongo mongo = new Mongo(_connectionString) ) {mongo.Connect();var db = mongo.GetDatabase(_dbName);var collection = db.GetCollection<Customer>();// 從集合中刪除指定的對(duì)象collection.Remove(x => x.CustomerID == customerId);}}

更新記錄

public void Update(Customer customer){using( Mongo mongo = new Mongo(_connectionString) ) {mongo.Connect();var db = mongo.GetDatabase(_dbName);var collection = db.GetCollection<Customer>();// 更新對(duì)象collection.Update(customer, (x => x.CustomerID == customer.CustomerID));}}

獲取記錄列表

public List<Customer> GetList(string searchWord, PagingInfo pagingInfo){using( Mongo mongo = new Mongo(_connectionString) ) {mongo.Connect();var db = mongo.GetDatabase(_dbName);var collection = db.GetCollection<Customer>();// 先創(chuàng)建一個(gè)查詢var query = from customer in collection.Linq()select customer;// 增加查詢過濾條件if( string.IsNullOrEmpty(searchWord) == false )query = query.Where(c => c.CustomerName.Contains(searchWord) || c.Address.Contains(searchWord));// 先按名稱排序,再返回分頁結(jié)果.return query.OrderBy(x => x.CustomerName).GetPagingList<Customer>(pagingInfo);}}

獲取單個(gè)對(duì)象

public Customer GetById(string customerId){using( Mongo mongo = new Mongo(_connectionString) ) {mongo.Connect();var db = mongo.GetDatabase(_dbName);var collection = db.GetCollection<Customer>();// 查詢單個(gè)對(duì)象return collection.FindOne(x => x.CustomerID == customerId);}}

重構(gòu)(簡(jiǎn)化)代碼

從上面代碼可以看出,操作MongoDB大致都是這樣一個(gè)操作過程。

// 首先創(chuàng)建一個(gè)連接using( Mongo mongo = new Mongo(_connectionString) ) {// 打開連接mongo.Connect();// 切換到指定的數(shù)據(jù)庫var db = mongo.GetDatabase(_dbName);// 根據(jù)類型獲取相應(yīng)的集合var collection = db.GetCollection<Customer>();// 【訪問collection,做你想做的操作】}

針對(duì)這個(gè)問題,我提供一個(gè)包裝類來簡(jiǎn)化MongoDB的使用。點(diǎn)擊此處展開

簡(jiǎn)化后的CRUD代碼如下:

public void Insert(Customer customer){customer.CustomerID = Guid.NewGuid().ToString("N");using( MyMongoDb mm = new MyMongoDb() ) {mm.GetCollection<Customer>().Insert(customer);}}public void Delete(string customerId){using( MyMongoDb mm = new MyMongoDb() ) {mm.GetCollection<Customer>().Remove(x => x.CustomerID == customerId);}}public void Update(Customer customer){using( MyMongoDb mm = new MyMongoDb() ) {mm.GetCollection<Customer>().Update(customer, (x => x.CustomerID == customer.CustomerID));}}public Customer GetById(string customerId){using( MyMongoDb mm = new MyMongoDb() ) {return mm.GetCollection<Customer>().FindOne(x => x.CustomerID == customerId);}}

看了上面這些代碼,您應(yīng)該會(huì)覺得MongoDB的使用也很容易,對(duì)吧。
接下來,我來通過界面錄入一些數(shù)據(jù),來看看我錄入的結(jié)果吧。

到這里,你或許想知道:MongoDB有沒有一個(gè)自己的客戶端來查看數(shù)據(jù)呢?因?yàn)榭偛荒苤灰蕾囎约簩懘a來查看數(shù)據(jù)吧?
是的,MongoDB也提供了一個(gè)客戶端來查看并維護(hù)數(shù)據(jù)庫。接下來,我們?cè)賮砜纯慈绾问褂肕ongoDB的客戶端吧。

使用MongoDB的客戶端查看數(shù)據(jù)

MongoDB自帶一個(gè)Javascript shell,它可以從命令行與MongoDB實(shí)例交互。這個(gè)shell非常有用,通過它可以管理操作、檢查運(yùn)行實(shí)例、查詢數(shù)據(jù)等操作。
讓我們?cè)倩氐矫钚写翱谀J较掳桑]辦法,MongoDB只提供這種界面),運(yùn)行mongo.exe ,如下圖

這就是MongoDB的客戶端的命令行模式了。通常我們?cè)诓僮鲾?shù)據(jù)庫前,要切換【當(dāng)前數(shù)據(jù)】,
MongoDB也是一樣,我們可以運(yùn)行如下命令來查看數(shù)據(jù)庫列表,并切換數(shù)據(jù)庫,然后再查看集合列表,請(qǐng)看下圖(我運(yùn)行了三條命令)

注意:MongoDB區(qū)分名字的大小寫。

在MongoDB中,查看【當(dāng)前數(shù)據(jù)庫】,可以使用命令【db】,
查看集合Customer的記錄總數(shù):【db.Customer.count();】
查看 CustomerId = 1 的記錄:【db.Customer.findOne({"_id" : "1"});】,注意:查詢條件是一個(gè)文檔,這就是MongoDB的特色。
下圖顯示了上面三條命令的執(zhí)行結(jié)果:

嗯,怎么有亂碼?CustomerId = 1 的記錄應(yīng)該是這樣的才對(duì)呀?

看到這一幕,您應(yīng)該不要懷疑是MongoDB的錯(cuò)了,這個(gè)錯(cuò)誤是由于MongoDB的客戶端使用的編碼是UTF-8,而Windows 命令行程序 cmd.exe 使用的gb2312(我目前使用中文語言) 造成的。
解決辦法:
1. 執(zhí)行MongoDB的【exit】命令退回到Windows命令行狀態(tài)(或者重新打開命令行窗口),
2. 運(yùn)行命令:【chcp 65001】,切換到UTF-8編碼下工作。
3. 設(shè)置命令行窗口的屬性,請(qǐng)參考下圖:

再運(yùn)行 mongo 進(jìn)入mongo命令行,切換數(shù)據(jù)庫,并執(zhí)行命令:【db.Customer.findOne({"_id" : "1"});】

現(xiàn)在可以看到漢字能正常顯示了,但最后卻顯示"Failed to write to logfile",對(duì)于這個(gè)問題,我們?nèi)绻麍?zhí)行命令【db.Customer.findOne({"_id" : "91"});】(id=91的記錄就是我最后錄入的,全是a的那條,前面截圖上有),可以發(fā)現(xiàn)沒有任何異常發(fā)生,因此認(rèn)為這個(gè)問題還是和cmd.exe有關(guān)的。如果切換回 chcp 936 ,這時(shí)將看到亂碼,但沒有"Failed to write to logfile",所以我將忽略這個(gè)錯(cuò)誤。

使用MongoDB的客戶端維護(hù)數(shù)據(jù)

下面我來演示一下如何使用MongoDB的客戶端來執(zhí)行一些基本的數(shù)據(jù)維護(hù)功能。還是從CRUD操作開始吧,請(qǐng)看下圖,為了方便,我將在一個(gè)截圖中執(zhí)行多個(gè)命令。
注意:MongoDB的文檔使用的是一種稱為BSON格式的對(duì)象,與Javascript中的JSON類似。

在上面的示例中,每個(gè)命令后,我加了一個(gè)紅圈。在示例中,我先切換到 MyTest 數(shù)據(jù)庫(它并不存在,但沒關(guān)系),然后我定義了一個(gè)文檔 item 并插入到集合 table1 中,然后又定義了一個(gè)文檔 item2,也插入到集合 table1 中。注意:item , item2 的結(jié)構(gòu)完全不同,但能放在一個(gè)集合中(不建議這樣做)。最后調(diào)用 find() 顯示集合中的所有文檔。
此時(shí),您有沒有注意到:【每個(gè)文檔有一個(gè)名為 "_id" 的成員】,我可沒有定義啊。
其實(shí),MongoDB會(huì)為每個(gè)文檔都創(chuàng)建這樣一個(gè)文檔成員,我們指定的 "key", "id" 對(duì)于MongoDB來說:它們并不是【文檔的主鍵】,MongoDB只認(rèn) "_id",你可以指定,但如果不指定,MongoDB就自動(dòng)添加。

此時(shí),你可以看看前二張圖片,可以發(fā)現(xiàn):在定義Customer類時(shí),有一個(gè)成員CustomerID此時(shí)卻不存在! 我們可以再看一下Customer的定義:

public sealed class Customer{[MongoId]public string CustomerID { get; set; }public string CustomerName { get; set; }public string ContactName { get; set; }public string Address { get; set; }public string PostalCode { get; set; }public string Tel { get; set; }}

此時(shí),您應(yīng)該發(fā)現(xiàn)CustomerID這個(gè)成員有一個(gè)[MongoId]的特性。正是由于這個(gè)特性,驅(qū)動(dòng)程序?qū)袰ustomerID映射為"_id"來使用。

好了,再次回到命令行,我要演示其它的命令。請(qǐng)看下圖:

為了要更新某個(gè)文檔,我們要使用findOne()方法找到要修改的文檔對(duì)象,并將它保存一個(gè)變量t中,然后,修改它的屬性,接著調(diào)用update()方法就可以更新文檔了,注意在調(diào)用update()時(shí),第一個(gè)參數(shù)【更新范圍】是采用文檔的形式給出的,第二參數(shù)才是要更新的新對(duì)象。在刪除時(shí),刪除條件也是采用文檔的形式指定的。處處使用文檔,這就是MongoDB的特色。

前面的示例代碼中,我使用了find()和findOne(),它們是有區(qū)別的:findOne()只返回一個(gè)文檔對(duì)象,find()返回一個(gè)集合列表,如果不指定過濾范圍,它將返回整個(gè)集合,但在客戶端中最多只顯示前20個(gè)文檔。

再來個(gè)復(fù)雜的查詢:搜索日期范圍是 2011-06-25 到 2011-06-26 之間的訂單記錄。由于返回的結(jié)果太長,我的截圖將不顯示它們。
注意:MongoDB的查詢條件中,并沒有 >, <, >= , <= 這些運(yùn)算符,而是使用 "$lt", "$lte", "$gt", "$gte" 這種方式作為文檔的KEY來使用的, 因此一個(gè)簡(jiǎn)單的 OrderDate >= "2006-06-25" and OrderDate < "2006-06-26" 要寫成如下方式:

如果遇到 or 就更麻煩了,如:CustomerId = 1 or CustomerId = 2 ,有二種寫法:

語法不難,相信能看懂JSON的人,也能看懂這二條命令。

再來個(gè)分頁的命令:

與LINQ的語法類似,好理解。

MongoDB客戶端還支持其它的語法,這里就不一一介紹了。因?yàn)槲覀兊哪繕?biāo)是在C#中使用MongoDB,在MongoDB提供的C#驅(qū)動(dòng)中,我們并不需要寫那樣麻煩的查詢條件,只需要按LINQ的語法寫查詢就可以了,因此會(huì)很容易使用。不過,有些維護(hù)性的操作,我們只能通過命令的方式去執(zhí)行,比如:刪除集合,刪除數(shù)據(jù)庫。

執(zhí)行【db.runCommand({"drop" : "table1"});】便可以刪除一個(gè)集合,也可以執(zhí)行命令【db.table1.drop();】,二者的效果是一樣的。
再來看看如何刪除數(shù)據(jù)庫的命令:

注意:命令【db.runCommand({"dropDatabase": 1});】只能刪除【當(dāng)前數(shù)據(jù)庫】,所以要先切換當(dāng)前數(shù)據(jù)庫,然后執(zhí)行這個(gè)命令,執(zhí)行刪除數(shù)據(jù)庫的命令后,我們?cè)儆妹睢緎how dbs;】,發(fā)現(xiàn)數(shù)據(jù)庫【MyTest】已不存在,即刪除成功。刪除數(shù)據(jù)庫還有一個(gè)方法:還記得我前面啟動(dòng)mongod.exe時(shí)給它傳遞了一個(gè)參數(shù) 【-dbpath "H:\AllTempFiles\mongodb\data"】嗎?我們現(xiàn)在去那個(gè)目錄看一下有什么東西。

看了這張圖,您有沒有想過:這二個(gè)以【MyNorthwind】開頭的文件會(huì)不會(huì)就是數(shù)據(jù)庫的文件呢? 我現(xiàn)在就刪除看看,先停止mongod.exe,然后刪除文件(由于我目前只有一個(gè)數(shù)據(jù)庫,我把目錄下的文件全刪除了),刪除后:

現(xiàn)在,我再來啟動(dòng)mongod.exe,然后在客戶端執(zhí)行命令【show dbs;】看看:

現(xiàn)在可以發(fā)現(xiàn)我們之前的【MyNorthwind】數(shù)據(jù)庫沒有了,當(dāng)然也就是刪除了。說明一下:現(xiàn)在這二個(gè)數(shù)據(jù)庫,是MongoDB自帶的,用于特殊用途的,我們可以不理會(huì)它們。

好了,我們還是再來看看MongoDB提供的C#驅(qū)動(dòng)提供了什么東西吧。

MongoDB提供的C#驅(qū)動(dòng)

我把MongoDB提供的C#驅(qū)動(dòng)中認(rèn)為比較重要的類做了個(gè)截圖:

再來看看我前面給出一段操作MongoDB的代碼:

// 首先創(chuàng)建一個(gè)連接using( Mongo mongo = new Mongo(_connectionString) ) {// 打開連接mongo.Connect();// 切換到指定的數(shù)據(jù)庫var db = mongo.GetDatabase(_dbName);// 根據(jù)類型獲取相應(yīng)的集合var collection = db.GetCollection<Customer>();// 【訪問collection,做你想做的操作】}

這段代碼大致也說明了在C#中操作MongoDB的一個(gè)過程,主要涉及上圖中的前三個(gè)類,這三個(gè)類也是最核心的類。這里值得一提的是:LinqExtensions.Linq()方法可以讓我們?cè)趯懖樵儠r(shí),方便地使用LINQ的優(yōu)雅語法,而不是一堆復(fù)雜的文檔條件!這也是我選擇這個(gè)驅(qū)動(dòng)的原因。

還記得我前面舉過幾個(gè)在命令行中調(diào)用runCommand的示例嗎?如果在C#中也需要執(zhí)行這樣的操作,可以調(diào)用MongoDatabase.SendCommand() 方法。比如:刪除集合Category,我們可以寫成:

void DeleteCategoryCollection(){using( MyMongoDb mm = new MyMongoDb() ) {mm.CurrentDb.SendCommand(new Document("drop", "Category"));}}

【MongoIdAttribute】:可以讓我們將一個(gè)C#類的數(shù)據(jù)成員映射到文檔的"_id"屬性。前面有示例說明,這里就不再多說了。

【MongoAliasAttribute】:可以讓我們將一個(gè)C#類的數(shù)據(jù)成員在映射到文檔時(shí)采用其它的屬性名稱。
比如:我希望將CustomerName成員在保存到MongoDB時(shí),采用CName來保存。

[MongoAlias("CName")]public string CustomerName { get; set; }

【MongoIgnoreAttribute】:可以讓一個(gè)C#類在保存到MongoDB時(shí),忽略某些成員。請(qǐng)看下面的代碼:

public sealed class OrderItem : MyDataItem{[MongoId]        // 這個(gè)成員將映射到 "_id"public string OrderID { get; set; }[ScriptIgnore]    // 在JSON序列化時(shí),忽略這個(gè)成員public DateTime OrderDate { get; set; }[MongoIgnore]    // 在保存到MongoDB時(shí),忽略這個(gè)成員public string CustomerName { get; set; }// .... 還有其它的屬性。// 加這個(gè)屬性僅僅為了在客戶端中能更容易的顯示,要不然,客戶端處理格式轉(zhuǎn)換實(shí)在是麻煩。// 它將不會(huì)被寫入到數(shù)據(jù)庫。[MongoIgnore]public string OrderDateText { get { return this.OrderDate.ToString("yyyy-MM-dd HH:mm:ss"); } }}

MongoDB不支持在查詢數(shù)據(jù)庫時(shí)使用Join操作

在MongoDB中,一個(gè)文檔就是一個(gè)完整的對(duì)象,所以獲取一個(gè)對(duì)象時(shí),并不需要關(guān)系數(shù)據(jù)庫的那種JOIN語法。在上面定義的OrderItem中,CustomerName并沒有保存到數(shù)據(jù)庫,而是在加載時(shí),采用了【引用】的設(shè)計(jì)方式,根據(jù)CustomerID去訪問集合Customer來獲取對(duì)應(yīng)的CustomerName ,這也算是JOIN的常見使用場(chǎng)景了。

示例項(xiàng)目中有一個(gè)需求:根據(jù)一個(gè)日期范圍查詢訂單列表(支持分頁)。我是這樣實(shí)現(xiàn)這個(gè)查詢操作的。

/// <summary>/// 根據(jù)指定的查詢?nèi)掌诜秶胺猪搮?shù),獲取訂單記錄列表/// </summary>/// <param name="dateRange">日期范圍</param>/// <param name="pagingInfo">分頁參數(shù)</param>/// <returns>訂單記錄列表</returns>public List<OrderItem> Search(QueryDateRange dateRange, PagingInfo pagingInfo){dateRange.EndDate = dateRange.EndDate.AddDays(1);using( MyMongoDb mm = new MyMongoDb() ) {var collection = mm.GetCollection<OrderItem>(STR_Orders);var query = from ord in collection.Linq()where ord.OrderDate >= dateRange.StartDate && ord.OrderDate < dateRange.EndDateorderby ord.OrderDate descendingselect new OrderItem {OrderID = ord.OrderID,CustomerID = ord.CustomerID,OrderDate = ord.OrderDate,SumMoney = ord.SumMoney,Finished = ord.Finished};// 獲取訂單列表,此時(shí)將返回符合分頁的結(jié)果。List<OrderItem> list = query.GetPagingList<OrderItem>(pagingInfo);// 獲取訂單列表中所有的客戶IDstring[] cids = (from ord in listwhere string.IsNullOrEmpty(ord.CustomerID) == falseselect ord.CustomerID).Distinct().ToArray();// 找到所有客戶記錄Dictionary<string, Customer> customers =(from c in mm.GetCollection<Customer>().Linq()where cids.Contains(c.CustomerID)select new Customer {CustomerID = c.CustomerID,CustomerName = c.CustomerName}).ToDictionary(x => x.CustomerID);// 為訂單列表結(jié)果設(shè)置CustomerNameforeach( OrderItem ord in list ) {Customer c = null;if( string.IsNullOrEmpty(ord.CustomerID) == false && customers.TryGetValue(ord.CustomerID, out c) )ord.CustomerName = c.CustomerName;elseord.CustomerName = string.Empty;}return list;}}

獲取MongoDB服務(wù)端狀態(tài)

我們?cè)賮砜匆幌庐?dāng)時(shí)啟動(dòng)服務(wù)端的截屏吧:

注意最后一行,它告訴我們它有一個(gè)WEB接口,端口是 28017 ,現(xiàn)在我就去看看那是個(gè)什么樣子的。

可以看到它提供了一些服務(wù)端的狀態(tài)信息。我們還可以通過訪問【http://localhost:28017/_status】來獲得以JSON方式的統(tǒng)計(jì)信息。

我們還可以通過運(yùn)行客戶端的命令【db.runCommand({"serverStatus" : 1});】來獲取這些信息:

 

好了,就說到這里吧。接下來,您也可以寫點(diǎn)代碼嘗試一下,或者下載我準(zhǔn)備的示例項(xiàng)目參考一下。 點(diǎn)擊此處進(jìn)入下載頁面。

祝您使用MongoDB順利。

 

二天時(shí)間寫此文,希望能給您一點(diǎn)收獲。如果認(rèn)為此文對(duì)您有幫助,別忘了支持一下哦。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
8天學(xué)通MongoDB——第八天 驅(qū)動(dòng)實(shí)踐
Java對(duì)MongoDB文件的存取操作 - J2EE企業(yè)應(yīng)用 顧問/咨詢 Java傳教士 -H.E.'s Blog
Ubuntu下MongoDB的安裝和使用
MongoDB幫助類
MongoDB 概念解析 | 菜鳥教程
后端:C#操作Mongodb用法筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服