MongoDB Shell粘贴JSON批量插入时出现Token错误求助
解决MongoDB Shell粘贴JSON执行insertMany时的内容错乱与语法错误问题
问题原因
这是MongoDB Shell(尤其是新版mongosh)的多行粘贴缓冲区解析逻辑bug,与终端的换行、空格处理机制冲突,导致粘贴时文本顺序错乱,触发语法错误。你的JSON数据本身是合法的,复制到其他平台正常也验证了这一点。
实用解决方法
使用多行编辑模式粘贴
在Mongo Shell中输入.editor命令,进入内置编辑器模式,直接粘贴完整的JSON数组,编辑完成后按Ctrl+D(Windows系统按Ctrl+Z)提交执行。该模式下Shell不会逐行解析输入,彻底避免粘贴错乱。通过文件导入数据(最稳定)
将VS Code中的JSON内容保存为本地文件(比如flights.json),退出Mongo Shell,在系统终端执行以下命令批量导入:mongoimport --db 你的数据库名 --collection flights --file flights.json --jsonArray此方法适合大量数据,完全规避粘贴问题。
分块粘贴JSON内容
不要一次性粘贴整个数组,分步操作:- 在Shell中输入
db.flights.insertMany( - 粘贴第一个文档对象,回车后输入逗号
- 粘贴第二个文档对象,最后输入
)并回车执行
- 在Shell中输入
禁用实验性复制模式(针对特定版本)
若使用的mongosh版本存在实验性特性导致的粘贴问题,可启动Shell时添加参数:mongosh --no-experimental-repl-mode或在已启动的Shell中执行:
config.set("disableExperimentalReplMode", true)
内容的提问来源于stack exchange,提问作者KAMAS-2058
相关产品推荐
相关产品推荐

