使用mongorestore恢复MongoDB备份时报Unexpected identifier如何解决
MongoDB备份恢复报错排查方案
核心报错原因
Error: Line 1: Unexpected identifier报错的根本原因是:mongorestore属于MongoDB独立的系统命令行工具,不支持在Robo 3T内置的Mongo Shell交互窗口中执行,你需要在操作系统的终端(Windows为CMD/PowerShell,macOS/Linux为系统终端)中运行该命令。
原始命令修正点
你编写的恢复命令还存在两处可调整的问题:
- 集合名拼写错误:目标集合名称为
mycollection,原命令写为mycollections(多了末尾的s) - 缺少gzip格式标识:备份文件为
.bson.gz压缩格式,需要补充--gzip参数才能被正确识别
正确恢复步骤
1. 前置校验
打开系统终端,执行mongorestore --version,如果返回正常版本信息说明工具已就绪;如果提示命令不存在,需要先安装MongoDB Database Tools工具包,并将工具所在目录加入系统环境变量PATH。
2. 执行恢复命令
Windows环境下在CMD/PowerShell中运行修正后的命令:
mongorestore -d mydatabase -c mycollection --gzip C:\Users\backup.bson.gz
如果你的MongoDB服务开启了账号鉴权,需要补充鉴权参数:
mongorestore -u 你的账号 -p 你的密码 --authenticationDatabase admin -d mydatabase -c mycollection --gzip C:\Users\backup.bson.gz
3. 结果验证
命令执行无报错后,打开Robo 3T连接数据库,确认mydatabase.mycollection中的数据完整即可。
内容的提问来源于stack exchange,提问作者Shelly
相关产品推荐
相关产品推荐

