mongodump执行报错:invalid JSON input,请求技术解决方案
解决mongodump查询解析失败的问题
问题根源
你的命令存在两个核心错误:
- 参数混淆:
-p是密码参数,但你用了-p=27指定端口,同时又用-p "xx"指定密码,这会导致工具解析参数混乱,且端口未正确设置。端口参数应该用--port(或简写-P)。 - 查询语法错误:mongodump不支持Mongo Shell的
ISODate()语法,必须使用MongoDB标准的**扩展JSON(Extended JSON)**格式;同时Linux Shell会解析$符号,导致查询中的$gte被误处理。
修正后的命令
mongodump --host "abcd" --port 27 -u "y" -p "xx" --out /c -d "t" --gzip -c "t" --query '{ "Cli": "c", "Mar": "A", "F": {"$gte": {"$date": "2022-01-01T00:00:00.000Z"}}}'
关键修改点说明
- 把
-p=27改为--port 27,明确指定数据库端口。 - 将查询中的
ISODate("2022-01-01")替换为{"$date": "2022-01-01T00:00:00.000Z"},符合扩展JSON规范。 - 用单引号
'包裹整个--query的内容,避免Linux Shell解析$gte中的$符号。
内容的提问来源于stack exchange,提问作者vishu
相关产品推荐
相关产品推荐

