Node.js 猫鼬积垢错误

Node.js 猫鼬积垢错误,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,mongoose中的CRUD操作遵循回调模式: 操作({query},选项,函数(错误,结果){//回调代码}) 我遇到的问题是如何处理诸如唯一索引冲突等错误。例如,如果我试图创建一个已经存在的记录,则返回的错误只是一个字符串,如: MongoError: E11000 duplicate key error index: pcr.users.$agency_id_1_user_id_1 dup key: { : 1000, : "test" } 这都是一个大字符串,我不想解析它。有没有办法

mongoose中的CRUD操作遵循回调模式:

操作({query},选项,函数(错误,结果){//回调代码})

我遇到的问题是如何处理诸如唯一索引冲突等错误。例如,如果我试图创建一个已经存在的记录,则返回的错误只是一个字符串,如:

MongoError: E11000 duplicate key error index: pcr.users.$agency_id_1_user_id_1  dup key: { : 1000, : "test" }

这都是一个大字符串,我不想解析它。有没有办法让Mongoose驱动程序冒泡出实际的mongoDB错误对象?它是一个正确的错误对象,包含错误代码、错误文本等。

根据我的经验,传递给回调的错误是一个对象,而不是字符串。@JohnnyHK当我检查回调中的错误时,它只是一个字符串。mongo native Node.js驱动程序中的相同错误是一个具有代码属性、消息属性等的适当对象。您如何检查它?正如我通常所做的,在调试器中,如Chrome开发工具中。当我检查MongoDB错误时,它是一个具有多个属性的对象。当我查看mongoose错误对象时,它只有一个属性,就像我的问题中的一个大字符串一样。当我昨天尝试此操作时,我从Mongoose获得了一个对象,我可以以
error.code
的形式访问错误代码。这是一个
create
调用,这就是您正在使用的吗?你用的是最新的猫鼬吗?