如何解决Mongodb中关于GUID的显示问题
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要讲解了如何解决Mongodb中关于GUID的显示问题,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。发现问题最近将一个程序的存储迁移到了Mongodb,发现了一
千家信息网最后更新 2025年01月21日如何解决Mongodb中关于GUID的显示问题
这篇文章主要讲解了如何解决Mongodb中关于GUID的显示问题,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
发现问题
最近将一个程序的存储迁移到了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中关于GUID的显示问题有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。
问题
客户
客户端
工具
程序
类型
内容
存储
中关
官方
文档
方法
时候
格式
学习
影响
二进制
全局
兴趣
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
美国网络安全大会
为了表述软件开发
数据库建表的完整步骤
常用的服务器有
国际货币基金组织数据库技术类
网吧网络安全等级制度
php迷你服务器
怎么选择服务器
链的协议是数据库一致性
庆祝建党网络安全保障
国际电商平台服务器
wow任务网络安全
护苗网络安全知多少手抄报
云服务器和安全组关联起来
sql数据库exec的使用
怎么联系到国外软件开发者
正保数据库账号vip
谷歌服务器丢失什么原因
海口fil服务器介绍
科密带数据库的考勤系统
网络安全培训i春秋学院
软件开发管理者总是犯错
软件开发螺旋模型的基本思想
网络安全优点列举几条
做网络技术的现在都怎么样了
ecs服务器忘记管理员密码
网络技术与电子商务自考答案
绿色文明网维护网络安全手抄报
wamp数据库名称密码
搜狐电视直播软件开发