在mongosh中执行edit命令触发SyntaxError缺少分号错误如何解决
问题原因
MongoDB 6.0及后续版本默认使用的新一代mongosh shell,已经废弃了旧版mongo shell支持的edit <变量名>命令式语法。你直接输入edit something会被mongosh识别为不合法的JavaScript代码,因此抛出缺少分号的语法错误。
解决步骤
- 首先在启动
mongosh的终端会话中确认环境变量配置生效,执行命令:echo $EDITOR
如果输出不是vim,先执行export EDITOR=vim后再启动mongosh。 - 进入
mongosh连接数据库后,如果你需要编辑名为something的变量:- 先声明变量(新建场景):
let something = {} - 执行函数调用唤起vim:
edit(something) - 在vim中完成编辑后保存退出,修改的内容会自动同步到
something变量中,直接输入something回车即可查看修改结果。
- 先声明变量(新建场景):
- 如果你只是需要临时编辑多行操作语句,不需要绑定变量,可以直接使用
mongosh内置编辑模式:输入.editor回车进入编辑状态,编写完成后按Ctrl+D执行已编写的内容,按Ctrl+C可直接退出编辑模式。
内容的提问来源于stack exchange,提问作者Moyshe Zuchmir
相关产品推荐
相关产品推荐

