校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Mongodb中關于GUID的顯示問題詳析

Mongodb中關于GUID的顯示問題詳析

熱門標簽:400電話到哪辦理優惠 云南大數據外呼系統 怎么更改高德地圖標注 上海市三維地圖標注 博樂電銷機器人 南寧外呼系統招商 機器人打電銷電話 電話機器人是電腦呼號嗎 鄭州網絡外呼系統價錢

發現問題

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

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

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

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

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

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

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

   

解決方法

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

 BsonDefaults.GuidRepresentation = GuidRepresentation.Standard; 

這樣就方便多了:

參考文章:

MongoDB Best Practices for UUID Data

總結

以上就是Mongodb中關于GUID的顯示問題的詳細內容,更多關于Mongodb中GUID顯示問題的資料請關注腳本之家其它相關文章!

標簽:益陽 秦皇島 白銀 寧夏 恩施 定西 杭州 澳門

巨人網絡通訊聲明:本文標題《Mongodb中關于GUID的顯示問題詳析》,本文關鍵詞  Mongodb,中,關于,GUID,的,顯示,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mongodb中關于GUID的顯示問題詳析》相關的同類信息!
  • 本頁收集關于Mongodb中關于GUID的顯示問題詳析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 哈尔滨市| 调兵山市| 土默特右旗| 佳木斯市| 韶关市| 陇川县| 汽车| 繁峙县| 鹤峰县| 贺州市| 曲阜市| 阿鲁科尔沁旗| 克东县| 界首市| 宜州市| 张家川| 峨山| 江油市| 西峡县| 香港 | 山阳县| 武定县| 寿阳县| 成安县| 崇仁县| 合川市| 晋中市| 肃北| 昌都县| 平江县| 昌平区| 简阳市| 明溪县| 弋阳县| 石景山区| 霍城县| 新竹市| 西乌珠穆沁旗| 大新县| 原平市| 西华县|