中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Mongodb中關于GUID的顯示問題

發布時間:2020-07-28 16:01:21 來源:億速云 閱讀:310 作者:小豬 欄目:MySQL數據庫

這篇文章主要講解了如何解決Mongodb中關于GUID的顯示問題,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

發現問題

最近將一個程序的存儲遷移到了Mongodb,發現了一個現象,Guid類型寫入后,在程序里面讀取的和用客戶端工具展示的不一樣,一個簡單的示例如下:

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

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

如何解決Mongodb中關于GUID的顯示問題

通過對比可以發現,展示的值和寫入的形式不一樣,但是讀取到的值卻是沒有問題的。這個問題可以從官方的文檔規范中找到答案:

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

如何解決Mongodb中關于GUID的顯示問題

Mongodb中是將uuid其作為二進制類型存儲的,用一個subtype來標記其類型為uuid,在對C#,java,python提供的驅動中,默認是將其子類型映射了為3(Legacy UUID),這個在客戶端工具中也是有所展示的:

如何解決Mongodb中關于GUID的顯示問題

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

如何解決Mongodb中關于GUID的顯示問題   

解決方法

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

 BsonDefaults.GuidRepresentation = GuidRepresentation.Standard; 

這樣就方便多了:

如何解決Mongodb中關于GUID的顯示問題

看完上述內容,是不是對如何解決Mongodb中關于GUID的顯示問題有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳河县| 屏东县| 黄石市| 北海市| 邢台县| 佛学| 泸定县| 汶川县| 梁河县| 博兴县| 乐亭县| 商城县| 通州市| 罗甸县| 霍邱县| 营山县| 阿荣旗| 大悟县| 监利县| 揭东县| 杭锦后旗| 靖远县| 綦江县| 永宁县| 和田市| 海伦市| 义乌市| 婺源县| 姜堰市| 禹州市| 普陀区| 阳谷县| 吉安县| 正蓝旗| 临夏市| 紫阳县| 南江县| 屯留县| 涞水县| 全州县| 丰台区|