我有一个奇怪的问题,需要解决它。
但是,请求函数没有转到api路由设置(所有其他请求都可以正常工作)。
我得到的错误消息是:
{
errors: {
'confirmed_by.id': {
message: 'Cast to ObjectID failed for value "ending" at path "confirmed_by.id"',
name: 'CastError',
stringValue: '"ending"',
kind: 'ObjectID',
value: 'ending',
path: 'confirmed_by.id',
reason: [Object],
},
},
_message: 'order validation failed',
message:
'order validation failed: confirmed_by.id: Cast to ObjectID failed for value "ending" at path "confirmed_by.id"',
name: 'ValidationError',
}有人知道这是怎么回事吗?提前感谢!
理查德
发布于 2018-08-15 21:27:54
当您尝试使用_id: new ObjectId(someVal)为mongoose模型创建_id时,会出现此错误。在这里,您必须确保someVal应该是24个字符的十六进制值。否则,它将引发该错误。如果假设someVal为18个字符,则添加一些静态字符,如aabbcc,它是24个字符,最重要的是,所有字符都需要是十六进制字符。
发布于 2018-08-15 22:15:32
有几种方法可以根据需要执行的操作或遇到的问题来调试节点应用程序。
如果你使用的是较新的节点版本(v6.3+),你可以随时使用--inspect或--inspect-brk启动你的应用,这将使你能够使用Chrome来检查你的节点代码。更多细节请访问https://nodejs.org/api/debugger.html#debugger_advanced_usage。如果您使用的是较旧的版本,可以尝试使用node-inspector
另一个非常有用的工具是网络检查器(名字对吗?)与CharlesProxy一样,您可以配置节点应用程序来代理任何http请求(配置取决于您可能使用的库),并检查您的节点应用程序和世界其他地方之间的流量。
https://stackoverflow.com/questions/51859603
复制相似问题