NodeJS (session:options?.session,^ SyntaxError:Unexpected token '.')mongoose给予在示例ubuntu aws中部署时的错误

vltsax25  于 12个月前  发布在  Node.js
关注(0)|答案(1)|浏览(299)

我在使用mongoose时遇到了这个错误:

/var/www/node-api/node_modules/mongoose/node_modules/mongodb/lib/admin.js:62
            session: options?.session,
                             ^

SyntaxError: Unexpected token '.'

字符串
我重新安装了node_modules,但总是遇到同样的问题。
对于 Mongoose 和我的连接在我的设备,它工作正常。

vmjh9lq9

vmjh9lq91#

加一个答案,因为它一直出现。

问题:

Mongoose使用MongoDB原生Node.js驱动程序作为其依赖项之一。
mongodb V6 native driver中,他们在admin.js内的async command()中实现了optional chaining

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,所以我会重新升级到那个版本,或者看看发布时间表来提前计划。

相关问题