/var/www/node-api/node_modules/mongoose/node_modules/mongodb/lib/admin.js:62 会话:选项?.会话, ^
语法错误:意外的标记“.”
我重新安装了node_modules,但总是出现同样的问题
对于猫鼬,我的设备连接工作正常
为此添加答案,因为它不断出现。
问题:
Mongoose 使用 MongoDB 本机 Node.js 驱动程序作为其依赖项之一。
在 mongodb V6 本机驱动程序中,他们在async command()
内的
admin.js
中实现了可选链接:
async command(command, options) {
return (0, execute_operation_1.executeOperation)(this.s.db.client, new run_command_1.RunAdminCommandOperation(command, {
...(0, bson_1.resolveBSONOptions)(options),
session: options?.session, //< optional chaining here
readPreference: options?.readPreference
}));
}
问题在于 Node.js 直到 V14.5 才支持可选链。
解决方案:
您需要将 Node.js 版本升级到较新的版本。在撰写本文时,Node V20 是 LTS,因此我建议升级到该版本,或者查看发布时间表以提前计划。