Mongoose 对象 ID 约束
Mongoose object id constraint
你好,我正在使用 mongoose,很长一段时间后我仍然不知道如何修复这个错误...我尝试了几个小时来修复它,但每次我只是 'hide' 问题用随机字符完成该字段,但对于我的项目,我不能,我需要一个精确的 ID,所以如果有人可以帮助举个例子,那就太好了
Error: Argument passed in must be a single String of 12 bytes or a
string of 24 hex characters
我正在尝试创建一个 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),
});
mongoose.Types.ObjectId
总是期望 24 个字符是十六进制字符,如 5b6159a1034cf06b23aa2382
相当于 12 个字节。错误是由于 24 位十六进制字符的长度不正确。检查作为参数传入的 mapId
的值和长度。它必须满足 24 位十六进制字符才能解决该错误。
但是您可以添加一些固定字符,比如您有 20 个 mapId
字符,然后添加 4 个十六进制字符,例如 abcd
使其总数为 24,然后使用它。
你好,我正在使用 mongoose,很长一段时间后我仍然不知道如何修复这个错误...我尝试了几个小时来修复它,但每次我只是 'hide' 问题用随机字符完成该字段,但对于我的项目,我不能,我需要一个精确的 ID,所以如果有人可以帮助举个例子,那就太好了
Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
我正在尝试创建一个 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),
});
mongoose.Types.ObjectId
总是期望 24 个字符是十六进制字符,如 5b6159a1034cf06b23aa2382
相当于 12 个字节。错误是由于 24 位十六进制字符的长度不正确。检查作为参数传入的 mapId
的值和长度。它必须满足 24 位十六进制字符才能解决该错误。
但是您可以添加一些固定字符,比如您有 20 个 mapId
字符,然后添加 4 个十六进制字符,例如 abcd
使其总数为 24,然后使用它。