Robo3T v1.4插入文档时出现GetLastError不支持错误,文档却成功添加
解决Robo3T v1.4插入文档成功却弹出"GetLastError command failed"错误的方案
核心原因分析
插入文档成功但报错,说明数据写入逻辑正常,错误来自Robo3T执行的getLastError命令——这个命令在MongoDB 3.6及以上版本中已被废弃,替换为writeConcern相关逻辑。报错机器连接的MongoDB版本较高,而Robo3T v1.4对高版本MongoDB的兼容性处理存在差异,就会触发该错误;另一台机器正常,大概率是连接的MongoDB版本更低,或是Robo3T的配置有区别。
具体解决步骤
- 检查MongoDB版本差异:对比两台机器连接的MongoDB版本,若报错机器的MongoDB版本≥3.6,这就是核心诱因。
- 修改Robo3T连接配置:
- 打开Robo3T,找到对应连接,右键选择「Edit」
- 在「Connection」标签页切换到「Advanced」选项卡
- 在「Shell Options」中添加一行配置:
--disableDeprecatedCommands - 保存配置后重新连接,尝试插入文档
- 重置Robo3T配置文件:若上述方法无效,可删除本地配置文件(不同系统路径不同):
- Windows:
C:\Users\<你的用户名>\.3T\robo-3t\1.4.0下的配置文件 - macOS:
~/Library/Application Support/3T/Robo 3T/1.4.0 - Linux:
~/.3T/robo-3t/1.4.0
删除后重启Robo3T,重新配置连接
- Windows:
- 降级MongoDB版本(可选):若必须使用当前Robo3T版本,可将MongoDB降级到3.6以下版本,规避命令兼容问题
补充:Robo3T v1.4发布于2020年,对后续MongoDB新版本兼容性有限,长期使用建议升级Robo3T版本或更换为MongoDB Compass。
内容的提问来源于stack exchange,提问作者Bharadwaj
相关产品推荐
相关产品推荐

