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,然后使用它。