你好,我正在使用猫鼬,但很长一段时间后,我仍然不知道如何解决此错误...我尝试了几个小时来解决它,但是每次我通过隐藏字段来“隐藏”问题时,随机字符,但是对于我的项目,我不能,我需要一个精确的ID,因此如果有人可以,请提供一个示例,这将非常好
错误:传入的参数必须是12个字节的单个字符串或 一串24个十六进制字符
我正在尝试创建一个ID,如:map1AssigneSeat
为持久起见,我使用以下代码,其中mapId等于map1AssigneSeat:
var rowData = new MapDatabase({
MapDescription: mongoose.Types.ObjectId(mapId),
DeckNumber: Number(map.Deck[i].DeckNumber),
x: Number(map.Deck[i].x),
y: Number(map.Deck[i].y),
});
答案 0 :(得分:0)
mongoose.Types.ObjectId
总是期望24个字符,这是一个十六进制字符,例如5b6159a1034cf06b23aa2382
,相当于12个字节。该错误是由于长度不正确的24位十六进制字符引起的。检查您作为参数传递的mapId
的值和长度。它必须满足24位十六进制字符才能解决该错误。
不过,您可以添加一些固定字符,例如说您有20个字符的mapId
,然后添加4个十六进制字符,例如abcd
,使其总数为24,然后使用它。