对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

HexData()(mongosh方法)

从十六进制数据创建二进制数据对象。

HexData() 通过以下语法实现:

HexData( <subType>, <buffer> )
返回:

二进制数据对象。

该命令使用以下字段:

字段
类型
必要性
说明

subType

整型

必需

指定数据子类型:

  • 0:通用二进制子类型

  • 1:函数数据

  • 2:二进制(旧)

  • 3:UUID(旧)

  • 4: UUID

  • 5:MD5

  • 6:加密的BSON值

  • 7:压缩的时间序列数据

    5.2版本新增。

  • 8:敏感数据,例如密钥或密码。 MongoDB不日志子类型为 8 的二进制数据的字面值。相反, MongoDB会记录占位符值 ###。

  • 9:向量数据,是由相同类型的数字组成的密集数组。

  • 128:自定义数据

buffer

字符串

必需

十六进制数据。 string解码到第一个不是有效十六进制数字的字符为止。 可以在十六进制string中使用大写或小写字母。

注意

mongosh 在第一个非十六进制字符处静默停止解析,这与拒绝无效的十六进制字符的旧版shell不同。要确定 HexData() 输出是否有效,可以对 HexData() 输出使用 .toString('hex') 方法,并使用不区分大小写的比较将该 string 与原始输入字符串进行比较。

1

使用 HexData() 将包含从十六进制string创建的二进制数据的文档插入到测试集合中:

db.hexCollection.insertOne( {
_id: 0, hexField: HexData( 0, "123456abcdef" )
} )
2

要返回文档,请运行以下find命令:

db.hexCollection.find()

输出使用Binary.createFromBase64()将hexField值显示为64基数:

[ { _id: 0, hexField: Binary.createFromBase64('EjRWq83v', 0) } ]