2010-01-26 44 views
2

我需要知道什么是MongoDB的散列大小。无法在维基百科或官方网站上找到它。什么是MongoDB哈希的大小?

+0

如果你没有得到答案,我建议问邮件列表:http://groups.google.com/group/mongodb-user – 2010-01-26 10:42:43

+0

发现MongoDB客户端显示24字节十六进制字符串,但驱动程序将其转换为12字节的二进制字符串o_O。如何将24字节的十六进制转换为12字节的BIN? – yspro 2010-01-27 10:15:43

回答

5

MongoDB使用12字节的二进制值(ObjectId) - 它可以转换为24字节的十六进制字符串。

3

ObjectId是_id字段的默认值,是一个12字节的值;它不是一个哈希也不是一个字符串 - 它被存储为二进制值。许多驱动程序会将其显示为十六进制字符串,因此可以轻松打印。

它由时间戳(以秒为单位),主机ID,进程ID和计数器组成;这意味着它随着创作时间的增加而增加,并对创建(插入)的时间进行编码。

http://www.mongodb.org/display/DOCS/Object+IDs

大多数司机有辅助方法转换到从十六进制字符串表示,以及基于刚才您感兴趣的部分创建一个 - 即时间戳可能用于范围查询。您还可以轻松提取时间戳部分。