猫鼬中如果没有“new”,则无法调用类构造函数 ObjectId

Yas*_*h K 8 mongoose node.js objectid

当我通过 API 请求从前端向后端发送数据时,出现以下错误:

在 mongoose 中,如果没有“new”,则无法调用类构造函数 ObjectId,

我尝试转换为字符串和整数,但没有成功......

Yas*_*h K 10

我也是 Nodejs 新手,我正在尝试发布一些问题,甚至是我找不到的答案。

这里的问题不是来自前端和后端,而是来自猫鼬模式

当我们将数据转换为objectId时,我们只需要声明new

解决方案:new mongoose.Types.ObjectId(Id)

如果您觉得有帮助,请点赞答案,以便其他人快速联系。

  • 是最新版本的mongodb节点包的问题吗?我之前在Node.js上使用过mongodb 4.9.1,并且从来不需要在objectId之前添加“new” (2认同)

小智 6

Object id = "649beed348b20e1b8e7bca95";
Run Code Online (Sandbox Code Playgroud)

你可以这样传递:

new ObjectId(id);
Run Code Online (Sandbox Code Playgroud)