如何在不修改数据库的情况下让MongoDB Compass将Binary类型3的GUID显示为常规UUID?
如何在不修改数据库的情况下让MongoDB Compass将Binary类型3的GUID显示为常规UUID?
当然可以!MongoDB Compass自带了调整字段显示格式的功能,完全不用改动数据库里的数据就能实现你想要的效果,具体操作步骤如下:
- 打开MongoDB Compass并连接到目标数据库,找到存储
User文档的对应集合。 - 点击集合右上角的**「Options」按钮(那个齿轮样式的图标),选择「View Options」**选项。
- 在弹出的「View Options」面板中,找到**「Binary Display」的下拉菜单,选择「UUID (Legacy)」**——这里选Legacy是因为你的
_id是以Binary类型3存储的,对应旧版UUID(.NET风格字节序),和你的存储格式匹配。 - 关闭面板回到集合视图,你就能看到原本显示为
Binary('ytSLGP47REmESqyzow9kAw==', 3)或者嵌套$binary结构的_id字段,已经自动转换成常规的UUID字符串格式啦(比如类似a1b2c3d4-5678-90ef-ghij-klmnopqrstuv这样的形式)。
补充说明一下:你的代码里用str(uuid.uuid4())生成UUID字符串,MongoEngine会自动将其转换为Legacy UUID格式(Binary类型3)存入MongoDB,所以选择「UUID (Legacy)」就能正确解析并显示成你熟悉的常规UUID样式。
备注:内容来源于stack exchange,提问作者Kiruahxh
相关产品推荐
相关产品推荐

