mongodb存储二进制数据

Posted bbqz007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb存储二进制数据相关的知识,希望对你有一定的参考价值。

mongodb 3.x存储二进制数据并不是以base64的方式,虽然在mongo客户端的查询结果以base64方式显示,请放心使用。下面来分析存储文件的存储内容。base64编码数据会增长1/3成为顾虑。

 

首先看mongo的c-driver对Binary类型数据的相关定义。注意下面提到了JS,要清楚官方提供给我们的mongo-client是使用JS语言的。

下面我将会存储一张图片,图片的hexdump如下面

向mongo插入数据后,用mongo-client查询显示如下,我们的图片数据显示为Base64内容,但是不要慌,这是JS语言下的显示,并不是实际底层存储。

最后我们看这条记录的物理存储

 

结论,mongodb其实是以二进制的方式存储Binary数据。base64编码数据会增长1/3的顾虑可以免除。

以上是关于mongodb存储二进制数据的主要内容,如果未能解决你的问题,请参考以下文章

【Python基础】mongodb存储文件的优缺点?

mongodb详解

20个MongoDB经典面试题

MongoDB数据模型和索引学习总结

MongoDB面试题

MongoDB面试题