**描述:**我在Node.js应用中遇到了一个BSONVersionError
,错误提示“Unsupported BSON version,bson types must be from bson 5.x.x”,我相信这与MongoDB Node.js驱动或其他使用BSON的库有关。
详情:
- 我已经检查了我的依赖项,我正在使用MongoDB Node.js驱动程序版本[您的版本]。
- 我已经尝试使用
npm install [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
将MongoDB Node.js驱动程序更新到5.x.x版本。 - 我正在MongoDB服务器版本5.9.2上运行我的应用程序
**代码段:**dbClientObj.collection(CollectionName).findOne({_id:_id:new ObjectId(ObjectId(PaddleId),
**错误堆栈跟踪:**BSONVersionError:不支持的BSON版本,bson类型必须来自serializeInto的bson 5.x.x(D:\beyond-carts\PhoenixMind\SubscriptionService\node_modules\mongodb\node_modules\bson\lib\bson.cjs:3670:23)rvice\node_modules\mongodb\lib\cmap\commands.js:377:37)at Msg.toBin(D:\beyond-carts\PhoenixMind\SubscriptionService\node_modules\mongodb\lib\cmap\commands.js:366:29)at MessageStream.writeCommand(D:\beyond-carts\PhoenixMind\SubscriptionService\node_modules\mongodb\lib\cmap\message_stream.js:43:34)
at write(D:\beyond-carts\PhoenixMind\SubscriptionService\node_modules\mongodb\lib\cmap\connection.js:479:30)at Connection.command(D:\beyond-carts\PhoenixMind\SubscriptionService\node_modules\mongodb\lib\cmap\connection.js:312:13)
环境:
- Node.js版本:18
- MongoDB服务器版本:5.9.2
**我尝试了什么:**我厌倦了使用bson包,如new BSON.ObjectId(<employee_id>)
**问题:**如何解析BSONVersionError
并确保我的应用程序使用的是5.x.x版本的BSON类型?
1条答案
按热度按时间xcitsw881#
在升级mongodb/mongoose包后,我在一个Node.js应用程序中遇到了同样的问题。
我的具体错误的解决方案是相当简单的,尽管错误消息没有显示任何提示,也发现了你。
在查看代码后,我很快意识到这是由于使用了
字符串
在我的聚合管道中。
我从mongodb包中导入了ObjectId。这是新mongoose版本中的问题:不得不从mongoose导入ObjectId,而不是像这样:
型
这可能会帮助别人,如果不是你!