node.js - Mongoose 对象 id 约束

标签 node.js database mongoose size objectid

你好,我正在使用 Mongoose ,很长一段时间后我仍然不知道如何修复这个错误...我尝试了几个小时来修复它,但每次我只是通过用随机字符填写字段来“隐藏”问题,但对于我的项目我不能,我需要一个精确的 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 个并使用它。

关于node.js - Mongoose 对象 id 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51672423/

相关文章:

javascript - 如何使用 mongoose 对 Nodejs 中填充结果的子文档数组进行排序

mysql - 中期临时表 - 即时创建持续 15-30 天的表?

mysql - 在数据库中存储加密数据的最佳做法是什么?

node.js - Mongoose DBRef 删除原始模式删除以删除 DBRef 并从 DBRef 数组中拉出

arrays - 如何在MongoDB中指定字段进行多条件查找查询?

mongodb - 我正在尝试使用请求创建一个新的购物车模式

javascript - Node js 创建服务器并连接

javascript - 在 node express 上包含 css 和 JavaScript 文件

node.js - 如何在node.js中为相同的两个应用程序分离redis数据库

sql - 如何将现有 MySQL 表中的 id 更改为从最后一个最高 id 自动递增的数据?