假设我们有一个md5哈希:
红宝石:
>Digest::MD5.hexdigest("ZZtop")
=> "d3e5c7c22df12b70e882f593432a3bdd"
可能的字段类型:
:type =>串
:type =>散列
我应该选择哪个?
答案 0 :(得分:7)
使用字符串。 BSON中的哈希是指键值对集。
答案 1 :(得分:4)
在MongoDB中,哈希不表示加密指纹(如MD5或SHA-1)。它表示散列表中的散列(允许存储键值对的数据结构)。
您必须使用字符串来存储MD5指纹。
答案 2 :(得分:0)
字符串,或者更好的是使用Binary,它的大小只有一半。
> Digest::MD5.hexdigest("ZZtop").size
=> 32
> Digest::MD5.digest("ZZtop").size
=> 16
您可能必须通过明确告知其BSON :: Binary来解决UTF8 check。
> BSON::Binary.new(Digest::MD5.digest("ZZtop"))