真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何解決Mongodb中關(guān)于GUID的顯示問題

這篇文章主要講解了如何解決MongoDB中關(guān)于GUID的顯示問題,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供猇亭網(wǎng)站建設(shè)、猇亭做網(wǎng)站、猇亭網(wǎng)站設(shè)計(jì)、猇亭網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、猇亭企業(yè)網(wǎng)站模板建站服務(wù),十年猇亭做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

發(fā)現(xiàn)問題

最近將一個(gè)程序的存儲(chǔ)遷移到了Mongodb,發(fā)現(xiàn)了一個(gè)現(xiàn)象,Guid類型寫入后,在程序里面讀取的和用客戶端工具展示的不一樣,一個(gè)簡(jiǎn)單的示例如下:

 var doc = new {_id = 1, Value = Guid.Parse("{B63932BB-9688-432B-B3A0-C4AE3FD2696A}") };
 collection.InsertOne(doc.ToBsonDocument());

寫入DB后,我們從客戶端工具來查看它:

如何解決Mongodb中關(guān)于GUID的顯示問題

通過對(duì)比可以發(fā)現(xiàn),展示的值和寫入的形式不一樣,但是讀取到的值卻是沒有問題的。這個(gè)問題可以從官方的文檔規(guī)范中找到答案:

官方文檔: http://bsonspec.org/spec.html

如何解決Mongodb中關(guān)于GUID的顯示問題

Mongodb中是將uuid其作為二進(jìn)制類型存儲(chǔ)的,用一個(gè)subtype來標(biāo)記其類型為uuid,在對(duì)C#,java,python提供的驅(qū)動(dòng)中,默認(rèn)是將其子類型映射了為3(Legacy UUID),這個(gè)在客戶端工具中也是有所展示的:

如何解決Mongodb中關(guān)于GUID的顯示問題

實(shí)際上,大多數(shù)客戶端工具也是能支持將Legacy UUID展示成我們寫入時(shí)候的那個(gè)樣子。

如何解決Mongodb中關(guān)于GUID的顯示問題   

解決方法

雖然這個(gè)不影響程序的功能,但由于第一眼看到的字符串不是寫入的格式,很多時(shí)候是影響我們調(diào)試程序的。一個(gè)較好的解決方法是默認(rèn)將以標(biāo)準(zhǔn)的UUID格式存儲(chǔ),只需要設(shè)置一個(gè)全局配置即可:

 BsonDefaults.GuidRepresentation = GuidRepresentation.Standard; 

這樣就方便多了:

如何解決Mongodb中關(guān)于GUID的顯示問題

看完上述內(nèi)容,是不是對(duì)如何解決Mongodb中關(guān)于GUID的顯示問題有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享標(biāo)題:如何解決Mongodb中關(guān)于GUID的顯示問題
分享路徑:http://weahome.cn/article/pdgodc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部